Lese en verdi fra dimmer til variabel

@stian Legger ved koden til slutt.

Jeg tror ikke det er så mye du vil få ut av koden angående wait event, men jeg har noen tanker om hva det kan være du opplever.

 
Noen devicer sender rett og slett aldri noen report tilbake. Dette kan du se i Message stream.

Åpne ett vindu med Message stream, og et annet vindu hvor du går inn i Thingsplex → Adapters → (din device) → Services og finner Get Report knappen for den servicen du ønsker å sjekke.
Når du trykker på den knappen så skjer det samme som når du bruker en Action node i flow. Da vil alt dukke opp i Message stream og du kan da se om devicen i det hele tatt sender en report tilbake.

Hvis devicen ikke gir deg noen report (og du er sikker på at det ikke er en nettverksfeil) kan det være andre metoder du kan bruke, avhengig av hva du ønsker å oppnå.

 
Et annet problem jeg har oppplevd er når flowen gjør noe uventet pga. ParallelExecution-instillingen. Hvis du f.eks. har ParallelExecution som keep_last er det ikke sikkert at wait event vil fungere optimalt (mer om parallell i denne tråden.) Dobbeltsjekk dette.

 
Koden:

Variabler:
  • dimLevel (float)
  • buttonHold (bool)
{
  "Id": "0YlOaE5BcZUI8Hq",
  "ClassId": "0YlOaE5BcZUI8Hq",
  "Author": "martinskre",
  "Version": 0,
  "CreatedAt": "2021-02-06T19:31:25.609853417+01:00",
  "UpdatedAt": "2021-02-06T19:45:47.287056236+01:00",
  "Name": "dimmer_eksempel",
  "Group": "eksempel",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "Lytter etter knappetrykk",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": ""
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 400,
        "y": 165
      },
      "TypeAlias": "Trigger"
    },
    {
      "Id": "2",
      "Type": "if",
      "Label": "Knappen \"holdes inne\"",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "",
            "Operand": "eq",
            "RightVariable": {
              "Value": "1.2",
              "ValueType": "string"
            }
          }
        ],
        "FalseTransition": "3",
        "TrueTransition": "4"
      },
      "Ui": {
        "nodeType": "",
        "x": 285,
        "y": 340
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "3",
      "Type": "if",
      "Label": "Knappen er \"released\"",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "",
            "Operand": "eq",
            "RightVariable": {
              "Value": "1.3",
              "ValueType": "string"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "5"
      },
      "Ui": {
        "nodeType": "",
        "x": 530,
        "y": 340
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "4",
      "Type": "set_variable",
      "Label": "set [buttonHold] = true",
      "SuccessTransition": "6",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": true,
          "ValueType": "bool"
        },
        "Name": "buttonHold",
        "UpdateGlobal": false,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 290,
        "y": 525
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "5",
      "Type": "set_variable",
      "Label": "set [buttonHold] = false",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": false,
          "ValueType": "bool"
        },
        "Name": "buttonHold",
        "UpdateGlobal": false,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 535,
        "y": 525
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "6",
      "Type": "action",
      "Label": "Get level report",
      "SuccessTransition": "7",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": ""
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 290,
        "y": 700
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "7",
      "Type": "receive",
      "Label": "Receive level report",
      "SuccessTransition": "8",
      "TimeoutTransition": "9",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 10,
        "ValueFilter": {
          "Value": "",
          "ValueType": "bool"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 400,
        "y": 880
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "8",
      "Type": "set_variable",
      "Label": "[dimLevel] = inputvar",
      "SuccessTransition": "10",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "Name": "",
        "UpdateGlobal": false,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 285,
        "y": 1070
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "9",
      "Type": "action",
      "Label": "Error: Dimmer is not responding...",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:app/rn:time_owl/ad:1",
      "Service": "time_owl",
      "ServiceInterface": "cmd.timeline.set",
      "Config": {
        "DefaultValue": {
          "Value": {
            "message_en": "Error: Dimmer is not responding...",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 530,
        "y": 1070
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "10",
      "Type": "if",
      "Label": "if [buttonHold] == true",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "buttonHold",
            "Operand": "eq",
            "RightVariable": {
              "Value": true,
              "ValueType": "bool"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "11"
      },
      "Ui": {
        "nodeType": "",
        "x": 245,
        "y": 1245
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "11",
      "Type": "if",
      "Label": "if [dimLevel] < 100",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "dimLevel",
            "Operand": "lt",
            "RightVariable": {
              "Value": 100,
              "ValueType": "float"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "12"
      },
      "Ui": {
        "nodeType": "",
        "x": 250,
        "y": 1420
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "12",
      "Type": "transform",
      "Label": "Increment [dimLevel] +5",
      "SuccessTransition": "13",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": "dimLevel + 5",
        "IsLVariableGlobal": false,
        "IsRVariableGlobal": false,
        "IsTargetVariableGlobal": false,
        "LVariableName": "",
        "RValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "RVariableName": "",
        "Rtype": "var",
        "TargetVariableName": "dimLevel",
        "TargetVariableType": "float",
        "Template": "",
        "TransformType": "calc",
        "ValueMapping": [],
        "XPathMapping": []
      },
      "Ui": {
        "nodeType": "",
        "x": 250,
        "y": 1595
      },
      "TypeAlias": "Transform"
    },
    {
      "Id": "13",
      "Type": "action",
      "Label": "Set dimmer to [dimLevel]",
      "SuccessTransition": "14",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": ""
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 250,
        "y": 1775
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "14",
      "Type": "wait",
      "Label": "Dimmer speed",
      "SuccessTransition": "10",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 50,
      "Ui": {
        "nodeType": "",
        "x": 250,
        "y": 1950
      },
      "TypeAlias": "Delay"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}