Thingsplex tukler med variablene

Hei

Jeg har over lengre tid jobbet med å få til flows som gir en grei styring av screens. Etterhvert har jeg etablert flow som innhenter lux-verdi fra utvendige lyssensorer og kjører screens på bakgrunn av denne verdien. I tillegg har jeg laget en flow som innhenter posisjon fra Fibaro Roller Shutter 3 (FRS3) som styrer screens, og skriver denne verdien for de forskjellige screens til variabler. Denne verdien brukes så i flow som kjører screens til å avgjøre om det skal gis kommando om kjøring eller ikke. (Jeg hadde problemer med at screens feilet ved for mange kommandoer, så de nevnte variablene brukes til å si at “ikke gi kommando om å kjøre screen ned dersom screen allerede er nede” etc.)

Det fungerer utmerket i perioder. Men så kan det med ujevne mellomrom stoppe opp, og når jeg prøver å ettergå hva som har skjedd så ser det hver gang ut til at det har oppstått endringer/avvik i Thingsplex. Det kan være at variablene bare rett og slett ikke oppdateres lenger - en manuell kjøring av screens kan reparere det, så fungere alt som det skal en periode igjen. Det kan være at variablene har forsvunnet fra Flows - Context i Thingsplex. En manuell kjøring kan reparere det også, men det kan også være at linken mellom flow og definert variabel er brutt og variabel må defineres på nytt i flow for å få det opp å gå igjen. Det kan være brudd både i flowen som innhenter nivå fra FRS3 og skriver denne til aktuell variabel og/eller det kan være brudd i flowen som bruker variabelen til å kjøre screens.

Disse avvikene som oppstår er ganske uforklarlige fra mitt ståsted, og de medfører en stadig usikkerhet rundt hvorvidt screens kjøres som de skal for å begrense innetemperaturen, og undergraver ideen om automatisk kjøring av screens.

Nå har det ganske nylig skjedde på nytt, etter at det hadde fungert fint en periode, men nå tilsynelatende på et nytt nivå. Alle linker til variabler i flows er brutt, både i flow som innhenter nivå-verdier og i flow som kjører screens, og alle variablene er borte fra Flow - Context i Thingsplex. Variablene er altså helt borte, ingen spor (som jeg kan se) igjen av dem. I tillegg så ser det ut til at muligens alle verdier/variabler fra alle enheter i systemet nå ligger inne på Flow - Context i Thingsplex med sine (kryptiske) adresser som navn. Det er kanskje ikke så dumt hvis det medfører at variablene kan brukes mer direkte i flows? Men jeg merker at jeg er lite lysten på å lete etter rette adresse/navn på de variabler jeg trenger og gjøre endringer i flows deretter før jeg er trygg på at det er varig metode - jeg er lei av å stadig måtte inn å rette opp for at ting skal fungere, også fungerer det bare i begrensede perioder.

  • Er det flere som opplever lignende?
  • Er det noen som kan forklare hva det er som foregår når det blir slik?
  • Hva kan en gjøre for å unngå det?
  • Er det med at alle verdier/variabler for alle enheter i systemet (?) er tilgjengelig i Flow - Context i Thingsplex, en oppdatering/ny feature som det er best å ta i bruk?
1 Like

Hey! Can you pls provide the json of the flow that is not working for you? I would be glad to check it.

Also pls make sure you’re on the newest tpflow: 1.3.12 (or 1.3.13 after it’s released on monday).

Answering some of your questions:

  • The variables should not disappear or loose their value. Maybe the in memory - yes, but only after restarting tpflow.
  • The weird named variables with topics are the new states that are updated by an automatically running service and updating them as the value changes. Yes - you can use them as your variables, or create new ones. It is planned to change the names of those values to sth that is more user-friendly and easier to find.

Thanks for your answers!

I’ve been on vacation, so been unable to reply until now…

I used quite some time figuring out the relevant variables that are now available by default and included them directly in the relevant flows. It seems to be working well. Because of the length of the default names it was really a puzzle, because I could not find any way to display the entire name when selecting the variable. This will certainly be a problem the next time any issue occurs as well, so I hope the names will be shortened as you say, or the interface approved so that it will be possible to view the entire name when needed.

Thus, I do not use the flow that collected my own variables anymore - however it would be clarifying if you could tell me why the variables dissapears. The flow is included below.

How do I update to the newest TP flow?
I have updated to the latest hub software, but all information I find tells me that I am running version 1.1.9 of Thingsplex…

{
  "Id": "8IBgz7LHka4rxT3",
  "ClassId": "8IBgz7LHka4rxT3",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2022-04-05T23:34:19.554529717+02:00",
  "UpdatedAt": "2022-05-05T23:08:54.874682721+02:00",
  "Name": "Screens level",
  "Group": "Variabler",
  "Description": "",
  "Nodes": [
    {
      "Id": "12",
      "Type": "set_variable",
      "Label": "Screen verandadør level",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "Screen_verandadør_lvl",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 69,
        "y": 696
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "13",
      "Type": "time_trigger",
      "Label": "Hvert minutt",
      "SuccessTransition": "14",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "* * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 77,
        "y": 238
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "14",
      "Type": "action",
      "Label": "Get level report screen verandadør",
      "SuccessTransition": "15",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:basic/ad:57_1",
      "Service": "basic",
      "ServiceInterface": "cmd.lvl.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "null"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 78,
        "y": 393
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "15",
      "Type": "receive",
      "Label": "Level report screen verandadør",
      "SuccessTransition": "12",
      "TimeoutTransition": "38",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:basic/ad:57_1",
      "Service": "basic",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 120,
        "ValueFilter": {
          "Value": "",
          "ValueType": "int"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 72,
        "y": 542
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "16",
      "Type": "action",
      "Label": "Get level report screen kjøkken",
      "SuccessTransition": "18",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:basic/ad:50_1",
      "Service": "basic",
      "ServiceInterface": "cmd.lvl.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "null"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 332,
        "y": 395
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "18",
      "Type": "receive",
      "Label": "Level report screen kjøkken",
      "SuccessTransition": "19",
      "TimeoutTransition": "43",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:basic/ad:50_1",
      "Service": "basic",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 120,
        "ValueFilter": {
          "Value": "",
          "ValueType": "int"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 329,
        "y": 546
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "19",
      "Type": "set_variable",
      "Label": "Screen kjøkken level",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "Screen_kjøkken_lvl",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 332,
        "y": 695
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "20",
      "Type": "action",
      "Label": "Get level report screen stue",
      "SuccessTransition": "27",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:basic/ad:52_1",
      "Service": "basic",
      "ServiceInterface": "cmd.lvl.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "null"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 570,
        "y": 397
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "21",
      "Type": "action",
      "Label": "Get level report screen Sigurds rom",
      "SuccessTransition": "24",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:basic/ad:56_1",
      "Service": "basic",
      "ServiceInterface": "cmd.lvl.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "null"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1274,
        "y": 402
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "22",
      "Type": "action",
      "Label": "Get level report screen kontor",
      "SuccessTransition": "25",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:basic/ad:55_1",
      "Service": "basic",
      "ServiceInterface": "cmd.lvl.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "null"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1034,
        "y": 399
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "23",
      "Type": "action",
      "Label": "Get level report screen hovedsoverom",
      "SuccessTransition": "26",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:basic/ad:54_1",
      "Service": "basic",
      "ServiceInterface": "cmd.lvl.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "null"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 800,
        "y": 399
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "24",
      "Type": "receive",
      "Label": "Level report screen Sigurds rom",
      "SuccessTransition": "28",
      "TimeoutTransition": "39",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:basic/ad:56_1",
      "Service": "basic",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 120,
        "ValueFilter": {
          "Value": "",
          "ValueType": "int"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1277,
        "y": 542
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "25",
      "Type": "receive",
      "Label": "Level report screen kontor",
      "SuccessTransition": "29",
      "TimeoutTransition": "40",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:basic/ad:55_1",
      "Service": "basic",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 120,
        "ValueFilter": {
          "Value": "",
          "ValueType": "int"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1039,
        "y": 546
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "26",
      "Type": "receive",
      "Label": "Level report screen hovedsoverom",
      "SuccessTransition": "30",
      "TimeoutTransition": "41",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:basic/ad:54_1",
      "Service": "basic",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 120,
        "ValueFilter": {
          "Value": "",
          "ValueType": "int"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 805,
        "y": 548
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "27",
      "Type": "receive",
      "Label": "Level report screen stue",
      "SuccessTransition": "31",
      "TimeoutTransition": "42",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:basic/ad:52_1",
      "Service": "basic",
      "ServiceInterface": "evt.lvl.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 120,
        "ValueFilter": {
          "Value": "",
          "ValueType": "int"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 571,
        "y": 547
      },
      "TypeAlias": "Wait event"
    },
    {
      "Id": "28",
      "Type": "set_variable",
      "Label": "Screen Sigurds rom level",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "Screen_Sigurds_rom_lvl",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 1277,
        "y": 700
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "29",
      "Type": "set_variable",
      "Label": "Screen kontor level",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "Screen_kontor_lvl",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 1043,
        "y": 703
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "30",
      "Type": "set_variable",
      "Label": "Screen hovedsoverom level",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "Screen_hovedsoverom_lvl",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 805,
        "y": 700
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "31",
      "Type": "set_variable",
      "Label": "Screen stue level",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": true,
        "Name": "Screen_stue_lvl",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 571,
        "y": 699
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "32",
      "Type": "time_trigger",
      "Label": "Hvert minutt",
      "SuccessTransition": "21",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "* * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 1267,
        "y": 250
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "33",
      "Type": "time_trigger",
      "Label": "Hvert minutt",
      "SuccessTransition": "22",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "* * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 1035,
        "y": 250
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "34",
      "Type": "time_trigger",
      "Label": "Hvert minutt",
      "SuccessTransition": "23",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "* * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 802,
        "y": 245
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "35",
      "Type": "time_trigger",
      "Label": "Hvert minutt",
      "SuccessTransition": "20",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "* * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 567,
        "y": 244
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "36",
      "Type": "time_trigger",
      "Label": "Hvert minutt",
      "SuccessTransition": "16",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "* * * * *",
            "Name": ""
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 326,
        "y": 240
      },
      "TypeAlias": "Time trigger"
    }
  ],
  "Settings": null,
  "IsDisabled": true,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}

I now did an update of my hub, and guess what - all the variables that I used a lot of time identifying before my holidays is now gone from the flows that controls my screens. I cannot see that there is any logic to this, and I’d be very surprised if I am the only one having this problem.

Any thoughts are highly appreciated!

Below I have included the flow and code controlling the screens.

{
  "Id": "rQ3kA18vWG71MYU",
  "ClassId": "rQ3kA18vWG71MYU",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2022-04-25T22:07:03.909752573+02:00",
  "UpdatedAt": "2022-07-22T20:09:31.540397442+02:00",
  "Name": "Screens sørvegg",
  "Group": "Screens",
  "Description": "",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "Lyssensor sørvegg",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:hue/ad:1/sv:sensor_lumin/ad:s233_0",
      "Service": "sensor_lumin",
      "ServiceInterface": "evt.sensor.report",
      "Config": {
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": "",
          "ValueType": "float"
        },
        "VirtualServiceGroup": "ch_0",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 384,
        "y": 32
      },
      "TypeAlias": "Trigger",
      "LastValue": "33100 Lux"
    },
    {
      "Id": "2",
      "Type": "iftime",
      "Label": "09:00 - 20:00 hver dag",
      "SuccessTransition": "3",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "Action": "a",
            "From": "09:00",
            "To": "20:00",
            "Weekday": "1"
          },
          {
            "Action": "a",
            "From": "09:00",
            "To": "20:00",
            "Weekday": "2"
          },
          {
            "Action": "a",
            "From": "09:00",
            "To": "20:00",
            "Weekday": "3"
          },
          {
            "Action": "a",
            "From": "09:00",
            "To": "20:00",
            "Weekday": "4"
          },
          {
            "Action": "a",
            "From": "09:00",
            "To": "21:00",
            "Weekday": "5"
          },
          {
            "Action": "a",
            "From": "09:00",
            "To": "20:00",
            "Weekday": "6"
          },
          {
            "Action": "a",
            "From": "09:00",
            "To": "20:00",
            "Weekday": "0"
          }
        ]
      },
      "Ui": {
        "nodeType": "",
        "x": 379,
        "y": 206
      },
      "TypeAlias": "Time filter"
    },
    {
      "Id": "3",
      "Type": "if",
      "Label": "Lux > 45 000",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "",
            "Operand": "gt",
            "RightVariable": {
              "Value": 45000,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "4",
        "TrueTransition": "5"
      },
      "Ui": {
        "nodeType": "",
        "x": 136,
        "y": 381
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "4",
      "Type": "if",
      "Label": "Lux < 41 000",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": false,
            "LeftVariableName": "",
            "Operand": "lt",
            "RightVariable": {
              "Value": 41000,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "26"
      },
      "Ui": {
        "nodeType": "",
        "x": 1219,
        "y": 380
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "5",
      "Type": "if",
      "Label": "Screen kjøkken ikke helt nede",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:50_1",
            "Operand": "gt",
            "RightVariable": {
              "Value": 5,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "8",
        "TrueTransition": "6"
      },
      "Ui": {
        "nodeType": "",
        "x": 132,
        "y": 584
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "6",
      "Type": "action",
      "Label": "Screen kjøkken ned",
      "SuccessTransition": "7",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:50_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 135,
        "y": 735
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "7",
      "Type": "action",
      "Label": "Screen kjøkken gikk ned pga høy lux",
      "SuccessTransition": "8",
      "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": "Screen kjøkken gikk ned pga høy lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 133,
        "y": 886
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "8",
      "Type": "if",
      "Label": "Screen verandadør ikke helt nede",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:57_1",
            "Operand": "gt",
            "RightVariable": {
              "Value": 5,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "10",
        "TrueTransition": "13"
      },
      "Ui": {
        "nodeType": "",
        "x": 361,
        "y": 585
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "9",
      "Type": "if",
      "Label": "Screen hovedsoverom ikke helt nede",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:54_1",
            "Operand": "gt",
            "RightVariable": {
              "Value": 5,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "11"
      },
      "Ui": {
        "nodeType": "",
        "x": 813,
        "y": 587
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "10",
      "Type": "if",
      "Label": "Screen stue ikke helt nede",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:52_1",
            "Operand": "gt",
            "RightVariable": {
              "Value": 5,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "9",
        "TrueTransition": "12"
      },
      "Ui": {
        "nodeType": "",
        "x": 587,
        "y": 568
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "11",
      "Type": "action",
      "Label": "Screen hovedsoverom ned",
      "SuccessTransition": "14",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:54_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 814,
        "y": 740
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "12",
      "Type": "action",
      "Label": "Screen stue ned",
      "SuccessTransition": "15",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:52_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 589,
        "y": 739
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "13",
      "Type": "action",
      "Label": "Screen verandadør ned",
      "SuccessTransition": "16",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:57_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 362,
        "y": 735
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "14",
      "Type": "action",
      "Label": "Screen hovedsoverom gikk ned pga høy lux",
      "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": "Screen hovedsoverom gikk ned pga høy lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 820,
        "y": 892
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "15",
      "Type": "action",
      "Label": "Screen stue gikk ned pga høy lux",
      "SuccessTransition": "9",
      "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": "Screen stue gikk ned pga høy lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 591,
        "y": 889
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "16",
      "Type": "action",
      "Label": "Screen verandadør gikk ned pga høy lux",
      "SuccessTransition": "10",
      "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": "Screen verandadør gikk ned pga høy lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 362,
        "y": 890
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "17",
      "Type": "if",
      "Label": "Screen hovedsoverom ikke helt oppe",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:54_1",
            "Operand": "lt",
            "RightVariable": {
              "Value": 95,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "18"
      },
      "Ui": {
        "nodeType": "",
        "x": 1952,
        "y": 564
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "18",
      "Type": "action",
      "Label": "Screen hovedsoverom opp",
      "SuccessTransition": "19",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:54_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 100,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1950,
        "y": 723
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "19",
      "Type": "action",
      "Label": "Screen hovedsoverom gikk opp pga lav lux",
      "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": "Screen hovedsoverom gikk opp pga lav lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 1951,
        "y": 886
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "20",
      "Type": "if",
      "Label": "Screen stue ikke helt oppe",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:52_1",
            "Operand": "lt",
            "RightVariable": {
              "Value": 95,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "17",
        "TrueTransition": "21"
      },
      "Ui": {
        "nodeType": "",
        "x": 1709,
        "y": 552
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "21",
      "Type": "action",
      "Label": "Screen stue opp",
      "SuccessTransition": "22",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:52_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 100,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1714,
        "y": 724
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "22",
      "Type": "action",
      "Label": "Screen stue gikk opp pga lav lux",
      "SuccessTransition": "17",
      "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": "Screen stue gikk opp pga lav lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 1719,
        "y": 894
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "23",
      "Type": "if",
      "Label": "Screen verandadør ikke helt oppe",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:57_1",
            "Operand": "lt",
            "RightVariable": {
              "Value": 95,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "20",
        "TrueTransition": "24"
      },
      "Ui": {
        "nodeType": "",
        "x": 1460,
        "y": 572
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "24",
      "Type": "action",
      "Label": "Screen verandadør opp",
      "SuccessTransition": "25",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:57_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 100,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1459,
        "y": 732
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "25",
      "Type": "action",
      "Label": "Screen verandadør gikk opp pga lav lux",
      "SuccessTransition": "20",
      "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": "Screen verandadør gikk opp pga lav lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 1464,
        "y": 898
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "26",
      "Type": "if",
      "Label": "Screen kjøkken ikke helt oppe",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "lvl@rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:50_1",
            "Operand": "lt",
            "RightVariable": {
              "Value": 95,
              "ValueType": "int"
            }
          }
        ],
        "FalseTransition": "23",
        "TrueTransition": "27"
      },
      "Ui": {
        "nodeType": "",
        "x": 1224,
        "y": 572
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "27",
      "Type": "action",
      "Label": "Screen kjøkken opp",
      "SuccessTransition": "28",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:out_lvl_switch/ad:50_1",
      "Service": "out_lvl_switch",
      "ServiceInterface": "cmd.lvl.set",
      "Config": {
        "DefaultValue": {
          "Value": 100,
          "ValueType": "int"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 1227,
        "y": 732
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "28",
      "Type": "action",
      "Label": "Screen kjøkken gikk opp pga lav lux",
      "SuccessTransition": "23",
      "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": "Screen kjøkken gikk opp pga lav lux",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 1231,
        "y": 899
      },
      "TypeAlias": "Timeline"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "keep_last"
}

I went back to defining my own variables again, using the flows as described earlier in this thread. They have worked well in periods before. This time it lasted one day, and on the warmest and sunniest day for a very long time the screens did not run according to the sunlight registration, so the house is warm enough tonight… I have now tried to fix it several times, but I am not allowed to save the changes I make in the flows - it just says “Saving…”. I actuallay have to restart the hub to get Thingsplex to work properly again (i.e. find any content in Thingsplex at all). After all too many attempts I give up on this for now, hoping that there is a special issue with Thingsplex just at this moment - but I am very tired of spending way too much time on unexplainable errors. So for now I am again left with no smart control for my screens - which was the main reason for investing in Futurehome in the first place. I hope someone can explain in an understandable manner why these issues keep reoccoring, and what to do to remedy it.

If you check that a variable is “in memory” it will be erased when the tpflow is restarted (or the hub). Or when it’s updated (as it’s restarting afterwards). We’re planning to fix that issue too, but it’s more complicated.

Okay. I think I have tried to uncheck this one earlier with no luck, but I can try again. However I am not able to do much in my flows at the moment, because tpflow is crashing when I try to save my changes, and it does not allow me to stop flows that shoul not run as they are…

By the way I figured out how to update tpflow. It was for sure an old version, but updating to version 1.3.20 did not fix any of my problems. The problems with tpflow crashing came before I updated tpflow.

SAVING forever , is often result of error in flow, does log tell you anything ?

I have received a short answer from support that the crashing in Thingsplex was due to wrong use of “get_report”. It was used on services that apparently did not support it, although that was the method I found in the forums that should be used for the application. Some other methods mentioned I was not able to get to work properly. I have now deleted the instances of “get_report”, and perhaps due to an updated version of Thingsplex I got a better method to work this time, and now everything seem to be working fine. For now.

Thanks for the tip anyway.

I try to live by : Always, always test in adapter> settings that services are listed and reports what you wants.
Check message stream that send an receive works
.

When working in ’ hand steering mode " you can implement in TP.

1 Like