Hva har du automatisert i dag?

Hei. Er ny med ThingsPlex og det knota seg litt når eg skulle lage lik automasjon som den du har laga for viftehastigheit. Kan du dele flow for denne, viss flow fungerar i dag?

Kodetastatur

Det er ikke alltid planlagt når familie låner hytte ellers hjelpe til med vanning på sommern, og det er noen ganger nødvendig å slå på hjemmemodus for å ungå masse meldinger. Har ågså lyst til å installere en siren, og da er de mer nødvendig at de kan slå den av selv.

Siden det finns ikke kodetastatur som fungerer med FH, jeg tar i bruk en namron bryter med 8 knapper og laget en selv.

Det er ikke en perfekt løsning - en knap med en scene id ville ha vært mye enklere. Men jeg har programmert de topp 4 knappene som tall, og nederste to (7 og 8) som “verifisere koden” og “nullstille koden”. 5 og 6 er for å skru på utstyr og sette i feriemodus. Brukt dymo maskin for tall og ikoner.

Overraskende nok, den fungerer bra. Jeg har satt den opp med to forskjellige koder som blir godkjent, og de er enkelt å bytte.

Jeg prøvde å mappe scene ID med Transform, men fikk ikke det til - fikk feilmeldinger, så det ble mange ekstra if statements i tilfelle trykk på tallene ble for lang og ender opp med X.1 ellers x.2 scene ID. Om noen er interessert og kan transform kan vi kanskje simplifisere koden - Transform “kicks my butt” every time… :smiley:

Code er for for mange karakterer til å legge ut her, men si ifra om noen vil ha den og jeg kan sende den på en annen måte.


2 Likes

Tøft, kjøpte en nimly dør lås der eg setter kode, når nokon låser opp går huset i hjemme. Bli det låst går det borte etter ti minutter

1 Like

Er du fornøyd med den? Har vurdert en lenge, men føler jeg må ha reservenøkkel, og det er Nimly som er mest interessant.

Delevis, mange sa den slukte batteri, det gjør ikkje min, men ikkje 100% integrert virker det som, ser ut som om den skal kunne detektere om dør er åpen men det fubker ikkje. Litt ball å programere får meg so ikkje er så ekstremt flink i thinkplex

1 Like

Har litt for mange utropstegn på hjemmeskjermet pga Aqara rele, og ønsket muligheten til å få en notification om VVB (ellers termostat) går offline - spesielt i tidene rundt oppdateringer.

Det ble to automasjoner - den første bruker en temperatur oppdatering fra Aeotec HD relay til å sette verdien i en global variable. Dette skjer hver gang den rapporterer.

Den andre starter hver time, og nullstiller variablen, så ber om temp fra rele igjen. Hvis den er online og sender en verdi, stopper den, men hvis den ikke får ny verdi, sender den en “notification” og skriver i timeline. Avhengig av hvordan man vil få meldingene kunne man også brukt Pushover istedenfor vanlig.

Samme logikk burde fungere for en termostat, men jeg har ikke prøvd det ennå.

Flow 1:

{
  "Id": "c8BoLOzNHGN1F1D",
  "ClassId": "c8BoLOzNHGN1F1D",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2024-02-15T12:25:36.056347356+01:00",
  "UpdatedAt": "2024-02-15T13:48:37.763967319+01:00",
  "Name": "VVB Temp Variable",
  "Group": "test",
  "Description": "Recordds VVB relay temperature for comms check",
  "Nodes": [
    {
      "Id": "1",
      "Type": "trigger",
      "Label": "Wait for temp sensor event",
      "SuccessTransition": "3",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:dev/rn:zw/ad:1/sv:sensor_temp/ad:15_0",
      "Service": "sensor_temp",
      "ServiceInterface": "evt.sensor.report",
      "Config": {
        "ConnectorID": "",
        "InputVariableType": "",
        "IsValueFilterEnabled": false,
        "LookupServiceNameAndLocation": false,
        "PropFilterName": "",
        "PropFilterValue": "",
        "RegisterAsVirtualService": false,
        "Timeout": 0,
        "ValueFilter": {
          "Value": null,
          "ValueType": "float"
        },
        "ValueJPath": "",
        "ValueJPathResultType": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": null
      },
      "Ui": {
        "nodeType": "",
        "x": 101,
        "y": 255
      },
      "TypeAlias": "Trigger"
    },
    {
      "Id": "2",
      "Type": "set_variable",
      "Label": "Set relay temp variable",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": ""
        },
        "IsVariableInMemory": false,
        "Name": "vvb_relay_temp",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 89,
        "y": 668
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "3",
      "Type": "wait",
      "Label": "wait 2 seconds",
      "SuccessTransition": "2",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 2000,
      "Ui": {
        "nodeType": "",
        "x": 100,
        "y": 483
      },
      "TypeAlias": "Delay"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "parallel"
}

Flow 2:

{
  "Id": "dHiVZa4kkzbKYue",
  "ClassId": "dHiVZa4kkzbKYue",
  "Author": "",
  "Version": 0,
  "CreatedAt": "2024-02-15T11:10:13.571882996+01:00",
  "UpdatedAt": "2024-02-15T13:43:23.039451048+01:00",
  "Name": "VVB Comms Check",
  "Group": "test",
  "Description": "test of aeotec switch status",
  "Nodes": [
    {
      "Id": "8",
      "Type": "action",
      "Label": "Get temp sensor report",
      "SuccessTransition": "17",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:cmd/rt:dev/rn:zw/ad:1/sv:sensor_temp/ad:15_0",
      "Service": "sensor_temp",
      "ServiceInterface": "cmd.sensor.get_report",
      "Config": {
        "DefaultValue": {
          "Value": "",
          "ValueType": "string"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "ResponseToTopic": "",
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "",
        "x": 286,
        "y": 691
      },
      "TypeAlias": "Action"
    },
    {
      "Id": "9",
      "Type": "time_trigger",
      "Label": "Hourly check",
      "SuccessTransition": "10",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultMsg": {
          "Value": "",
          "ValueType": ""
        },
        "Expressions": [
          {
            "Comments": "",
            "Expression": "40 * * * *",
            "Name": "test"
          }
        ],
        "GenerateAstroTimeEvents": false,
        "Latitude": 0,
        "Longitude": 0,
        "SunriseTimeOffset": 0,
        "SunsetTimeOffset": 0
      },
      "Ui": {
        "nodeType": "",
        "x": 269,
        "y": 208
      },
      "TypeAlias": "Time trigger"
    },
    {
      "Id": "10",
      "Type": "set_variable",
      "Label": "set temp to 0",
      "SuccessTransition": "12",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "DefaultValue": {
          "Value": 0,
          "ValueType": "float"
        },
        "IsVariableInMemory": false,
        "Name": "vvb_relay_temp",
        "UpdateGlobal": true,
        "UpdateInputMsg": false
      },
      "Ui": {
        "nodeType": "",
        "x": 287,
        "y": 375
      },
      "TypeAlias": "Set variable"
    },
    {
      "Id": "12",
      "Type": "wait",
      "Label": "wait 5 seconds",
      "SuccessTransition": "8",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 5000,
      "Ui": {
        "nodeType": "",
        "x": 284,
        "y": 537
      },
      "TypeAlias": "Delay"
    },
    {
      "Id": "13",
      "Type": "if",
      "Label": "If less than 1.11 degrees",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": {
        "Expression": [
          {
            "BooleanOperator": "",
            "LeftVariableIsGlobal": true,
            "LeftVariableName": "vvb_relay_temp",
            "Operand": "lt",
            "RightVariable": {
              "Value": 1.11,
              "ValueType": "float"
            }
          }
        ],
        "FalseTransition": "",
        "TrueTransition": "16"
      },
      "Ui": {
        "nodeType": "",
        "x": 290,
        "y": 998
      },
      "TypeAlias": "If condition"
    },
    {
      "Id": "16",
      "Type": "action",
      "Label": "Publish timeline to show failure",
      "SuccessTransition": "18",
      "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": "Possible issue with VVB Relay detected.",
            "message_no": "-",
            "sender": "flow"
          },
          "ValueType": "str_map"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "timeline_action",
        "x": 300,
        "y": 1158
      },
      "TypeAlias": "Timeline"
    },
    {
      "Id": "17",
      "Type": "wait",
      "Label": "wait 5 seconds",
      "SuccessTransition": "13",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "",
      "Service": "",
      "ServiceInterface": "",
      "Config": 5000,
      "Ui": {
        "nodeType": "",
        "x": 281,
        "y": 848
      },
      "TypeAlias": "Delay"
    },
    {
      "Id": "18",
      "Type": "action",
      "Label": "Push  error notification",
      "SuccessTransition": "",
      "TimeoutTransition": "",
      "ErrorTransition": "",
      "Address": "pt:j1/mt:evt/rt:app/rn:kind_owl/ad:1",
      "Service": "kind-owl",
      "ServiceInterface": "evt.notification.report",
      "Config": {
        "DefaultValue": {
          "Value": {
            "EventName": "custom",
            "MessageContent": "Possible issue with VVB relay detected!",
            "SiteId": "9ef9c690-9a79-4d7f-96fd-5cbbfe0a98ab"
          },
          "ValueType": "object"
        },
        "IsVariableGlobal": false,
        "Props": {},
        "RegisterAsVirtualService": false,
        "VariableName": "",
        "VirtualServiceGroup": "",
        "VirtualServiceProps": {}
      },
      "Ui": {
        "nodeType": "notification_action",
        "x": 303,
        "y": 1326
      },
      "TypeAlias": "Notification"
    }
  ],
  "Settings": null,
  "IsDisabled": false,
  "IsDefault": false,
  "ParallelExecution": "keep_last"
}
1 Like