Español:Tareas

From bab-tec.de wiki

Jump to: navigation, search

Atrás

Contents

Consejos Generales

Generador cíclico de telegrama

Puede utilizar el envío de hora como un generador cíclico de telegrama. Muchas de las tareas en el eibPort necesitan un telegrama de arranque. Si desea activar estos intervalos cíclicos para dichas tareas simplemente utilice las horas de los telegramas del envío de hora como entrada.

Cálculo de horas de trabajo

Working hour counter.png

Configuración de una combinación entre el envío de hora como un generador cíclico de telegrama y una tarea contador. La tarea contador utiliza el telegrama de la iluminación (o cualquier tipo de horas de trabajo que desee calcular) como objeto habilitado. Después utiliza la salida del envío de hora como entrada para la tarea contador. Cada vez que el envío de hora manda un telegrama, el contador puede aumentar su valor por uno. Por tanto, si el envío de hora tiene un intervalo de 60 segundos, el contador mantendrá los minutos aproximados en los que la iluminación se ha encendido.

astable multivibrator (flip-flop)

17/0 Arranque (primera entrada NAND)

17/1 Salida

17/2 segunda entrada NAND

17/3 habilitar/deshabilitar(Objetodeentrada)

Flip flop.JPG

Solicitud HTTP

Con la Solicitud http, es posible solicitar y procesar contenido desde los servidores web o transmitir datos a un servidor. Con este propósito, están disponibles los métodos GET y POST. De este modo el URL se constituye con la unión de la base URL, el objetivo y el valor del objeto(s). Los campos obligatorios son 'Nombre del elemento', 'Objeto de Entrada' y 'Base URL'. Para el proceso de la respuesta de los servidores está disponible un módulo que busca la respuesta con expresiones regulares y el desencadenamiento de acciones en el bus KNX en función del procesamiento. Para más información busque documentación sobre expresiones regulares en su página de aplicación.


Solicitar 'tiempo de disponibilidad' y carga del eibPort

El URL que necesitará:

"http://<eibPort_IP>/cgi-bin/statcgi?uptime=on"
BN: estado
pw: eibPort

Esta es la expresión habitual con la que se ha realizado:

"up (.*), load average: ([\.\d]*), ([\.\d]*), ([\.\d]*)"

Los cuatro grupos en los mapas de expresión en los cuatro objetos de salida de la tarea. El tipo de data de las cuatro salidas tiene que ser EIS 15, sino de lo contrario los valores de los puntos flotantes no se mostrarán correctamente.

Aviso: Solicitar una carga media por minuto con frecuencia, puede causar una carga mucho mayor;)

Solicitar estado de la base de datos del eibPort

under construction !

Solicitar aplicación google del tiempo

Con una solicitud al servidor de datos del tiempo de google("Google weather API") el eibPort obtiene un archivo XML como respuesta. Después dicha respuesta se filtra por las expresiones habituales y los valores son transferidos por los objetos de salida a la visualización. Para la solicitud son necesarias las configuraciones siguientes:

Protocolo: http://
Base-URL: www.google.com
Tipo de Solicitud: GET
GET-URL / Post Data: /ig/api?weather=Dortmund

Aviso: Es importante garantizar que la respuesta de la solicitud está hecha en el idioma correcto. Si por ejemplo se utiliza "google.de" en lugar de "google.com" la respuesta se mostrará en alemán. Con el nombre de la ciudad detrás de "tiempo=" se define desde que lugar se recogen los datos del tiempo. En teoría es posible cambiar este valor dinámicamente con la ayuda de los objetos de valor. Si el URL de esta solicitud se copia en la línea del navegador y se solicita, la respuesta se mostrará como un archivo XML en la ventana del navegador. En nuestro ejemplo, queremos saber las condiciones meteorológicas actuales, la temperatura actual en Celsius, la humedad y la temperatura máxima para los próximos días. Primero creamos la expresión para cada salida individual, después las colocamos todas juntas.

Aviso: Las expresiones que se han creado serán verificadas con una herramienta. Hay diferentes herramientas disponibles online, por ejemplo: http://dev.radsoftware.com.au/downloads/Rad.RegexDesigner.Setup.1.4.exe. De esta manera se considera que algunas de las banderas tienen otro significado(p.e. Todo Punto = LíneaIndividual).

Importante: En Mozilla Firefox puede que tenga un señal de espacio detrás de la expresión cuando la copia directamente dentro de la selección de la tarea. Si ese es el caso, la expresión no funcionará, por tanto, por favor revise lo que está escrito con exactitud en su selección de expresión.

Condiciones Meteorológicas Actuales:
Los datos meteorológicos actuales están escritos en el área "<condiciones_actuales>". Después de esto, continúa la información "<datos de la condición=". No obstante, esto se repite tres veces en la información "<pronóstico meteorológico>". Para evitar que la expresión coincida en todos los "datos meteorológicos=" la secuencia "<condiciones_actuales>" debe estar presente.

<condiciones_actuales>.*?<datos meteorológicos="([a-zA-ZäÄöÖüÜ\s]+)"

Con el fin de finalizar satisfactoriamente esta expresión debe colocarse un ".*?" (punto - asterisco - signo de interrogación) entre la expresión adecuada y la secuencia"<condiciones_actuales>" con la bandera "TodoPunto" habilitada. El origen es que estas dos secuencias están colocadas en líneas diferentes. Con la ayuda de la bandera "TodoPunto" la expresión también se hace cargo de los finales de línea (de lo contrario intentaría coincidir línea por línea) y con los ".*?" el comportamiento de la expresión es poco "codiciosa".

Este es el primer grupo que coincide, por eso el objeto de salida 1 está definido como texto EIS 15.

Temperatura actual en Celsius
La salida de la temperatura actual se escribe detrás de la secuencia "<temp_c data=". Ésta aparecerá solo una vez en todo el texto. Según esto la expresión es:

temp_c data="([\-\+]?[0-9]+)

No debe haber una bandera para habilitarla. Como es un valor de temperatura, el objeto de salida ha sido formateado en EIS 5. La configuración de los datos es "ASCII – decimal largo sin asignar".

Humedad Actual
La salida de la humedad actual sigue detrás de la secuencia "Humedad:". La respuesta se dará en alemán en este caso porque se escribió "Feuchtigkeit" y la expresión no funciona (igualmente con otros idiomas.

Humedad: ([0-9]+)

No se habilita ninguna bandera para esto. Este es un valor por ciento, por eso el objeto de salida esta formateado en EIS 6. La configuración de los datos es "ASCII – decimal largo sin asignar".

Temperatura máxima de los próximos días
El pronóstico para los próximos días puede encontrarse en la sección"<pronóstico_condiciones>". Allí aparece una información con los "datos máximos=" en la que se proporciona la máxima temperatura del día respectivo. Ciertamente esta sección aparece por completo cuatro veces por cada uno de los cuatro días siguientes. En el caso reciente solo estamos interesados en la temperatura de mañana, esto significa la primera entrada de los "datos máximos=".

datos máximos="([\-\+]?[0-9]+)

Todas las banderas están deshabilitadas. Esta expresión distribuye la primera entrada de las 4 coincidencias en su totalidad. Como es un valor de temperatura, el objeto de salida está, de nuevo formateado en EIS 5.La configuración de los datos es "ASCII – decimal largo sin asignar".

Todas las salidas en una expresión habitual
Como los 4 objetos de salida se pueden utilizar en una tarea, es posible filtrar todo lo mencionado anteriormente con una expresión habitual y colocarlas con la ayuda del grupo de configuración dentro de los cuatro objetos. De este modo, se considerará desactivada la bandera "TodoPunto", porque la expresión tiene que detectar el final de la línea. Entre las distintas expresiones se colocará un ".*" en cada una.

<condiciones_actuales>.*?<datos meteorológicos="([a-zA-ZäÄöÖüÜ\s]+)".*temp_c data="([\-\+]?[0-9]+).*Humedad: ([0-9]+).*?datos máximos="([\-\+]?[0-9]+)

Aviso: Entre la expresión para la humedad y la de temperatura máxima, al lado del ".*" debe colocarse un signo de interrogación para conseguir la expresión "sin codicia".

Matemáticas

Esta sección sobre la tarea de matemáticas enumera todas las funciones y operaciones. Encontrará mayor información en la última documentación del eibPort. Está disponible en el área de descargas de

http://www.bab-tec.de/en/service/download/

El módulo de matemáticas se está sometiendo a una mejora al igual que el firmware del eibPort. En la actualidad existen dos versiones: La versión 1.1 y la versión 1.2. El número de versión del módulo puede ser solicitado con la función "version()" de la propia tarea de matemáticas. A continuación mostramos un

ejemplo de configuración:

Salida: 31/7/10 EIS 14
Entrada: 31/7/11 EIS 1
operación matemática: version()

Si ahora la tarea matemática recibe un telegrama de 1bit en la entrada 31/7/11 proporcionará el número 17 (se muestra como 0x11 lo que significa versión 1.1) o el número 18(aparece como 0x12 lo que significa la versión 1.2).

Todas las funciones en la tarea de matemáticas versión 1.1 (0x11)

Operaciones Matemáticas:

Símbolo Descripción
+ Suma (resp. encadenadas juntas)
- Resta
* Multiplicación
/ División (números reales)
% Módulo (resto de una división de números enteros)
& bit por bit Y operación
| bit por bit O operación
^ exponenciar


Operaciones (booleanas) lógicas

Símbolo Descripción
|| lógica O
&& Lógica Y
> Operación comparativa "Más grande que"
>= Operación comparativa "Más grande que o igual"
< Operación comparativa "Menos que"
<= Operación comparativa "Menos o igual"
== Operación comparativa "igualdad"


Operaciones a nivel de Bits

Símbolo Descripción
<< Cambiar a la izquierda por x sitios (resultado = 0x01 << 3 // el resultado es 0x08)
>> Cambiar a la derecha por x sitios (resultado = 0x08 >> 3 // el resultado es 0x01)
& A nivel de Bit Y (conseguir LSB: resultado = 0x05 & 0x01)
| A nivel de Bit O (colocar LSB: resultado = 0x04 | 0x01)
^ Exclusivo O (resultado = 0x03 ^ 0x01 // el resultado es 0x02)
~ Inversión binaria (resultado = ~0x07 // el resultado es 0x08)


Otras operaciones

Símbolo Descripción
= Asignación
'(' and ')' Paréntesis para cambiar el proceso de la operación


Funciones incorporadas

Símbolo Descripción
sqrt(x) Cálculo de raíz cuadrada
sin(x) Cálculo del seno
cos(x) Cálculo del coseno
tan(x) Cálculo de la tangente
max(x,...) Determinación máxima de una cantidad (finita) de valores
min(x,...) Deteminación mínima de una cantidad (finita) de valores
rad(x) Conversión de grados a radianes (hoja de cálculo)
asin(x) cálculo del seno del arco
acos(x) cálculo del coseno del arco
atan(x) cálculo de la tangente del arco
ceil(x) Cálculo de los valores más pequeños de números enteros, los cuales no son más pequeños que el parámetro ("redondear")
floor(x) Cálculo de los valores más grandes de números enteros, los cuales no son más grandes que el parámetro ("redondear")
abs(x) Cálculo del valor absoluto de un razonamiento
exp(x) Cálculo de la función de base exponencial'e'(constante de euler)
log10(x) Cálculo de la base de logaritmo 10
pow(x,y) La función exponencial se calcula x^y
time() Está proporcionando el sistema de tiempo en segundos desde el principio de la era(00:00:00 UTC, January 1, 1970)
srand(x) Está configurando el generador (pseudo-) arbitrario a un valor de arranque definido
rand() Proporciona el próximo valor arbitrario
eo_sum(x,...) Agrega los objetos KNX con los números de acuerdo a los razonamientos
int(x) Corta el número real y proporciona solo el valor entero
modf(x) Proporciona el punto decimal de un número real (los lugares detrás del punto decimal)
round(x) Proporciona un número entero redondeado correcto de un razonamiento real
round(x, n) Proporciona un valor redondeado con sitios n decimales


Tipos de números y series:

Tipos Anotación
Número entero 42
Número hexadecimal 0x12ab
Número real 1.23
Número exponencial 1.23e3 für 1.23 * 10^3 oder 1023.0
Serie "text"


Constante predefinida:

Símbolo Descripción
M_PI La constante Pi (3.14.....)
M_E La constante de euler (Basada en el logaritmo natural)
M_LOG2E Logaritmo Base 2 de 'e'
M_LOG10E Logaritmo Base 10 de 'e'
M_LN2 Logaritmo natural de 2
M_LN10 Logaritmo natural de 10
M_PI_2 Pi dividido por 2("Medio-Pi")
M_PI_4 Pi dividido por 4 ("Cuarto-Pi")
M_1_PI Valor recíproco de Pi (1 dividido por Pi)
M_2_PI 2 por 1 dividido por Pi
M_2_SQRTPI 2 por 1 dividido por la raíz de Pi
M_SQRT2 Raíz de 2
M_SQRT1_2 Recíproca de la raíz cuadrada (resp. raíz de 1/2)

Las nuevas funciones en la tarea de matemáticas versión 1.2 (0x12)

Acceso en el valor de salida

Configuración de las entradas
Calcular Expresión


Operaciones Matemáticas:

Símbolo Descripción
~ invalidar bit por bit
! invalidar lógica (NO)


Otras operaciones:

Símbolo Descripción
?: Operador If-Then-Else


Funciones incorporadas:

Símbolo Descripción
eoiga() Proporciona la dirección de grupo que ha desencadenado la expresión (¡sin formato!)
eo_ga(idx, idx_ga) Proporciona la dirección de grupo de un objeto no formateado."idx" define la lista de números de la entrada,"idx_ga" define la lista de números de la dirección de grupo en el objeto. Ambos cálculos comienzan en "0" (de izquierda a derecha).
ga_str(ga, fmt) Proporciona la dirección de grupo deseada (ga = lista de números) como una secuencia (EIS 15) en la salida. Con "fmt" se determinará una anotación de 2- o 3-dígitos.
str_ga(str) Proporciona la dirección de grupo deseada como un número entero. La anotación de 2- o 3-dígitos no es un factor importante.
version() Proporciona la versión numérica del módulo matemático. Actualmente este es "18" = versión 1.2 (0x12) y "17" = versión 1.1 (0x11).


Variables reservadas

Variable Descripción
override_addr Si el valor de esta variable no es igual a "0", la dirección de salida original será eliminada y el valor de esta variable será interpretado, en su lugar, como la nueva dirección de salida. (anotación 1-dígito).
override_eis Si el valor de esta variable no es igual a "0", la configuración de los tipos de datos originales será superpuesto por éste. De ese modo no habrá un ajuste del valor.
override_skip_send Si el valor de esta variable no es igual a "0", la transmisión será abortada. La operación de ejecución no tendrá resultados.
override_keep_data Si el valor de esta variable no es igual a "0", será utilizado no el valor de salida calculado, si no el valor de entrada que se ha desencadenado.

Algunos ejemplos

Estos ejemplos muestran cómo las funciones, variables y operaciones se insertan en la expresión matemática:

Desencadenamiento de Ambientes Luminosos con EIS14

La iluminación de escenas del eibPort solo puede ejecutar telegramas EIS 1 y pueden comenzarse con el valor 0 o 1 (depende de la configuración). Hay muchas peticiones para desencadenar escenas con un valor EIS 14 (p.e. el valor 5 desencadena la escena 5).

Esto puede hacerse con la tarea Matemática a través de esta fórmula:

 override_addr = (MAIN << 11) | (MIDDLE << 8) | eo(0); 1

PRINCIPAL y MEDIO necesita ser sustituido con el grupo principal y el grupo medio en el que se desencadenará la escena de iluminación. Por tanto, si deseo tener 10 escenas de iluminación que se desencadena con la dirección 1/5/1-10, insertaré 1 para la PRINCIPAL y 5 para la MEDIA. El eo(0) es una variable para la primera entrada de la tarea (con valor 1-10). Por tanto, la primera parte de esta fórmula constituye la dirección de grupo deseada que es el desencadenante de la escena. El último 1 es simplemente el valor que será enviado a la dirección para desencadenar dicha escena.

E-Mail

In order to send e-mails with the eibPort at different locations settings has to be made.

E-Mail Provider settings

The e-mail provider settings you will reach by browsing “System” > “Configuration” > “eMail accounts”. There are two mail providers pre-set. Both providers can be used for testing proposals. Overall 10 providers can be set up.

If an individual provider should be used you will need the correct connection data. You will get this data from your e-mail provider, please enter this data according to it. By this you have to consider the following entries:

  1. Enabled: The entry must be enabled!
  2. TLS: Please ask you provider which authentication method is required!
  3. Realm: Means a group of users which accessed to the same server among other groups. Depending on the realm it is differed to which user group the client belongs. If it is not mentioned explicit at this point there is no entry necessary.
  4. Force default “From:”: Some mail server expect an designated e-mail address in the “From” array. Is an wrong address entered there the dispatch will not work. With the option “Force default “From:” every e-mail is sent with the here entered “From settings”, and not with the one which are entered into the e-mail Job!

By saving the provider the entry automatically gets an ongoing number. In case of the third set provider this is “mail_provider02”. This name is used to link the e-mail job.

Network settings

In order to have a working e-mail job the provider must be accessible. Beyond the standard configuration it is important to enter the following entries:

  1. Default gateway: The default gateway is the router which connects the network in which the eibPort is located with another one (mostly the internet). Normally here the address of the local router is been entered (e.g. 192.168.1.1).
  2. DNS-Server: A DNS Server is responsible for resolving hostnames (e.g. bab-tec.de) into ip-addresses (85.22.73.82) in the network. This service is normally offered by a server outside the own network in the internet. Modern routers (from the home market) dispose certainly over a “DNS forwarding” function and refers the DNS requests from the local network to the corresponding DNS servers. In this case here also the ip-address of the default gateway can be entered.

Another possibility would be to search for the valid DNS server entries in the configuration interface of the router and to transfer them into the eibPort or to use so called “Public DNS server” (e.g. from Google: 8.8.8.8). If the name resolution do not work, the e-mail job cannot resolve the hostname of the provider (e.g. mx.eibport.de) and therefore cannot connect to the e-mail server!

It is recommended always to use the server from you local internet service provider (DSL provider etc.)!

To verify if the connection settings are done correctly you can use the RSS Feed element in the Ajax Visualisation (Control L). Unlike the Java Visualisation the RSS Feed is requested by the eibPort itself and not by the visualisation client. If the RSS Feed is displayed the eibPort can establish a connection to the internet and is able to resolve hostnames!

E-Mail Job settings

In order to trigger an e-mail now only a E-Mail Job is necessary. The E-Mail Jobs are configured at “Editor” - “Job Editor” - “Send eMail”. For the beginning there should be used an easy configuration.

  1. Fill in the arrays “Job Name”, “Input Group Addresses”, “Receiver”, “Subject” and “Text”.
  2. Choose a desired “eMail-Provider” (the correct number you will find in the eMail Provider settings s.o.).
  3. Enter the correct Sender, if this is not done in the provider settings.

The triggering telegram (“Input Group Addresses”) must be an 1bit telegram (EIS 1). As the default send condition of the job is “ON or OFF”, the job reacts either on “1” than on “0”! For testing purpose add a switch element on a visualisation page and trigger it. You should then briefly receive an e-mail in the desired mailbox. Please consider that the e-mail service can be delayed at any time and an e-mail must not be received at once!

If the e-mail dispatch does not work despite all efforts, please contact the bab-tec support at info@bab-tec.de.


Remitente-UDP

under construction !

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox