Indicador del estado con pulsadores

El siguiente documento describe cómo indicar el estado de una entrada que se configura como un pulsador (en el documento siguiente representado como "Push Button").

Control Remoto

Importante: Es una entrada que se configura como pulsador, no como bloque de función “pulsador” (esto se conoce en el documento como “interruptor” o “objeto interruptor”). Tampoco es una entrada digital, aunque esté configurada como pulsador, sino como “solo estado”.

Con los pulsadores configurados como “solo estado”, solo se visualiza la acción UUID (ya sea en forma de texto o icono, dependiendo de la configuración).

Hay tres factores desencadenantes de un cambio en el color de un pulsador:

  • Modificación del valor de estado-UUID
  • El cambio en el valor de la acción UUID (sólo si no UUID estado especificado)
  • Visualización de la actividad (para detectar si el usuario lo ha pulsado)

En los siguientes casos se describe cómo y cuándo visualizar y cuál es la razón. Primero de todo: cada vez que se pulsa el pulsador, en la visualización aparecerá de color verde.

Un Pulsador sin salida

Pulsador sin salida

Información del Archivo de Estructura

<Function name="Pulsador 1 sin salida"
    UUIDaction="action">
  <detail Type="Pushbutton"/>
</Function>

Pulso

El pulsador se libera muy rápidamente, en el Miniserver sólo se le envía un pulso, Debido a que este pulsador no tiene salidas, esto no tendrá ningún efecto, es sólo a través de la visualización que el pulsador cuando se pulse pasará a verde y a blanco otra vez.

1
2
3
4
5
6
Pushbutton: pushButtonHit
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/pulse
SC: action - 0
SC: action - 0
Pushbutton: receivedInputState: '0'

Nota: “SC: xxx - x” es el valor enviado a la aplicación del Miniserver, donde xxx es el UUID y x es el valor actual.

On/Off

Cuando se pulsa el pulsador, el Miniserver recibe un comando “on” y es una entrada a “1”. Puesto que no hay salida, esto se visualiza - el pulsador es de color verde.

Cuando se deja de pulsar, se envía un comando “off” al Miniserver y la entrada se vuelve a “0”. El pulsador vuelve a ser de color blanco.

1
2
3
4
5
6
7
8
9
PushbuttonViewController: pushButtonHit
APP -> Miniserver: dev/sps/io/action/on
SC: action - 1
Pushbutton: receivedInputState: '1'
 
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/off
SC: action - 0
Pushbutton: receivedInputState: '0'

Un pulsador con una salida conectada

Pulsador con salida conectada

INFORMACIÓN DEL ARCHIVO DE ESTRUCTURA

<Function name="Pulsador 2 con salida directa"
    UUIDaction="action"
     UUIDstate="state">
  <detail Type="Pushbutton"
       Outputs="1"/>
  <State n="1"
      UUID="state"
      name="Salida del pulsador 2"/>
</Function>

Pulso

Después pulsar el pulsador este tiene un atributo de estado-UUID, este lugar del atributo de acción-UUID que se utiliza para visualizar el estado. Por lo tanto el botón pulsador permanece blanco (con la excepción de un corto destello verde para visualizar que el usuario realmente presiona el pulsador).

1
2
3
4
5
6
7
8
9
10
Pushbutton: pushButtonHit
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/pulse
SC: action - 0
SC: state - 0
SC: action - 0
SC: state - 0
Pushbutton: receivedInputState: '0'
Pushbutton: receivedOutputState: '0'
change pb to OFF

On/Off

Una vez más, sólo se visualiza el valor de estado-UUID. Al recibir "on", el estado-UUID se establece en 1 y el botón se vuelve de color verde. El "off" apagará la salida y el botón se volverá blanco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Pushbutton: pushButtonHit
APP -> Miniserver: dev/sps/io/action/on
SC: action - 1
SC: state - 1
Pushbutton: receivedInputState: '1'
Pushbutton: receivedOutputState: '1'
change pb to ON
 
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/off
SC: action - 0
SC: state - 0
Pushbutton: receivedInputState: '0'
Pushbutton: receivedOutputState: '0'
change pb to OFF

Pulsador con un bloque de fucnión "Pulsador" antes de la salida

Pulsador con bloque de función "Pulsador" antes de la salida

Información del Archivo de Estructura

<Function name="Pulsador 3 con bloque pulsador en la salida"
    UUIDaction="action"
     UUIDstate="state">
  <detail Type="Pushbutton"
       Outputs="1"/>
  <State n="1"
      UUID="state"
      name="Salida del pulsador 3"/>
</Function>

Este pulsador tiene un objeto-pulsador (bloque de función) entre la entrada y la salida. Cuando se presiona cambia els estado indicado y permanece cambiada, solo si se vuelve a presionar regresará al estado original. Por lo tanto, los siguiente ejemplos, se describen con dos accionamientos.

Pulso

Igual que con el 2, es un estado-UUID en la información de estructura, es el único estado de su UUID que se visualiza (otra vez con la excepción de la visualización de confirmación de la operación).

En la primera operación, es activado por el objeto entre el pulso de entrada y salida, el estado-UUID se pone a “on” y uno de los pulsadores se vuelve verde.

En la segunda operación el pulso se desactiva, por lo tanto el estado-UUID vuelve a 0 y el pulsador a color blanco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Pushbutton: pushButtonHit
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/pulse
SC: action - 0
SC: state - 1
SC: action - 0
Pushbutton: receivedOutputState: '1'
change pb to ON
Pushbutton: receivedInputState: '0'
 
 
Pushbutton: pushButtonHit
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/pulse
SC: action - 0
SC: state - 0
SC: action - 0
Pushbutton: receivedOutputState: '0'
change pb to OFF
Pushbutton: receivedInputState: '0'

On/Off

En el primer pulso del comando “on” se activa el interruptor del objeto del Miniserver, por lo tanto el estado-UUID se pone a 1 y el pulsador a color verde. El comando “off” no tiene efecto.

Nota: Es importante que el pulsador no se cambie de nuevo a blanco al final de la visualización de la operación.

Volviendo a presionar entra el segundo “on”, es decir un flanco ascendente del Miniserver y luego se cambia el valor del objeto. Esta desactivado y el estado recibe UUID-0 y el pulsador vuelve a color blanco.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Pushbutton: pushButtonHit
APP -> Miniserver: dev/sps/io/action/on
SC: action - 1
SC: state - 1
Pushbutton: receivedOutputState: '1'
change pb to ON
Pushbutton: receivedInputState: '1'
 
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/off
SC: action - 0
Pushbutton: receivedInputState: '0'
 
 
Pushbutton: pushButtonHit
APP -> Miniserver: dev/sps/io/action/on
SC: action - 1
SC: state - 0
Pushbutton: receivedOutputState: '0'
change pb to OFF
Pushbutton: receivedInputState: '1'
 
 
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/off
SC: action - 0
Pushbutton: receivedInputState: '0'

Pulsador con una lógica ramificada antes de la salida

Pulsador con lógica ramificada antes de la salida

Información del Archivo de Estructura

1
2
3
4
5
6
7
8
9
10
11
12
<Function name="Pulsador 4 con lógica ramificada"
    UUIDaction="action"
     UUIDstate="action">
  <detail Type="Pushbutton"
       Outputs="2"/>
  <State n="1"
      UUID="output1"
      name="salida 1 pulsador 4"/>
  <State n="2"
      UUID="output2"
      name="salida 2 pulsador 4"/>
</Function>

Cuando se conectan dos salidas a este pulsador, que (puede que) responden igual, no es posible que las dos representen el estado del pulsador con el color. Este caso es tan solo el estado de la entrada y por lo tanto la visualización de la misma en la acción y el estado-UUID.

Pulso

Al cambiar el pulso aunque los estados de las salidas individuales, pero su condición no se visualiza en el botón pulsador - Pulse el botón, será blanco de nuevo (después que fuese verde por la actuación de la visualización).

1
2
3
4
5
6
7
8
Pushbutton: pushButtonHit
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/pulse
SC: action - 0
SC: output1 - 1
SC: output2 - 1
SC: action - 0
Pushbutton: receivedInputState: '0'

On/Off

Pushbutton: pushButtonHit
APP -> Miniserver: dev/sps/io/action/on
SC: action - 1
SC: output1 - 1
SC: output2 - 1
Pushbutton: receivedInputState: '1'
 
Pushbutton: pushButtonRelease
APP -> Miniserver: dev/sps/io/action/off
SC: action - 0
Pushbutton: receivedInputState: '0'