Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Lichtwecker mit alexa2

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.8k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.2k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.3k

Lichtwecker mit alexa2

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
23 Beiträge 3 Kommentatoren 1.7k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • R Offline
    R Offline
    Renegade 0
    schrieb am zuletzt editiert von
    #1

    Hi,
    ich würde mir gerne einen Lichtwecker mit alexa2 basteln.
    Funktion soll folgendermaßen aussehen:
    Man sagt "Alexa stelle einen Wecker um..."
    eine in einer Variable eingestellten Zeit (5-30 min) gibt an, wie viel vor dem Wecker das Licht angehen soll. In dieser Zeit dimmt sich das licht von 0-100%.

    Mein Problem ist jetzt. Jeder Wecker erstellt einen eigenen Channel. Somit muss ich über node red oder blockly den Channel Alarm abfragen auf alle Alarme, prüfen, ob diese enabled sind und dann das Licht schalten. Ich habe noch keine sinnvolle Methode in node red gefunden, den Channel auf einen bestimmten STATE in allen Unterchannels abzusuchen. Und mit blockly kenn ich mich noch gar nicht aus. Geht es da leichter?

    mfG
    Rene

    F 2 Antworten Letzte Antwort
    0
    • R Renegade 0

      Hi,
      ich würde mir gerne einen Lichtwecker mit alexa2 basteln.
      Funktion soll folgendermaßen aussehen:
      Man sagt "Alexa stelle einen Wecker um..."
      eine in einer Variable eingestellten Zeit (5-30 min) gibt an, wie viel vor dem Wecker das Licht angehen soll. In dieser Zeit dimmt sich das licht von 0-100%.

      Mein Problem ist jetzt. Jeder Wecker erstellt einen eigenen Channel. Somit muss ich über node red oder blockly den Channel Alarm abfragen auf alle Alarme, prüfen, ob diese enabled sind und dann das Licht schalten. Ich habe noch keine sinnvolle Methode in node red gefunden, den Channel auf einen bestimmten STATE in allen Unterchannels abzusuchen. Und mit blockly kenn ich mich noch gar nicht aus. Geht es da leichter?

      mfG
      Rene

      F Offline
      F Offline
      frankyboy73
      schrieb am zuletzt editiert von
      #2

      @renegade-0 Hi, in Node Red per Wildcard (*) in Iobroker Get oder Iobroker In Node.
      Alexa2.jpg

      Abfrage aller Alarme eines bestimmten Echos

      alexa2.0.Echo-Devices.G090LF1072320GAA.Alarm.*.enabled
      

      oder aller Alarme aller Echos

      alexa2.0.Echo-Devices.*.Alarm.*.enabled
      

      Schöne Grüße Frank

      1 Antwort Letzte Antwort
      0
      • R Renegade 0

        Hi,
        ich würde mir gerne einen Lichtwecker mit alexa2 basteln.
        Funktion soll folgendermaßen aussehen:
        Man sagt "Alexa stelle einen Wecker um..."
        eine in einer Variable eingestellten Zeit (5-30 min) gibt an, wie viel vor dem Wecker das Licht angehen soll. In dieser Zeit dimmt sich das licht von 0-100%.

        Mein Problem ist jetzt. Jeder Wecker erstellt einen eigenen Channel. Somit muss ich über node red oder blockly den Channel Alarm abfragen auf alle Alarme, prüfen, ob diese enabled sind und dann das Licht schalten. Ich habe noch keine sinnvolle Methode in node red gefunden, den Channel auf einen bestimmten STATE in allen Unterchannels abzusuchen. Und mit blockly kenn ich mich noch gar nicht aus. Geht es da leichter?

        mfG
        Rene

        F Offline
        F Offline
        frankyboy73
        schrieb am zuletzt editiert von frankyboy73
        #3

        @renegade-0 Hi, sonst schau noch mal hier rein, dort bin ich das Thema, mit dem Alexa Wecker auslesen und ne bestimmte Zeit vorher was auslösen mit @mickym und @MichMein durchgegangen.
        https://forum.iobroker.net/topic/50906/timer-erstellen-und-bei-bedarf-wieder-löschen/8

        Schöne Grüße Frank

        R 2 Antworten Letzte Antwort
        0
        • F frankyboy73

          @renegade-0 Hi, sonst schau noch mal hier rein, dort bin ich das Thema, mit dem Alexa Wecker auslesen und ne bestimmte Zeit vorher was auslösen mit @mickym und @MichMein durchgegangen.
          https://forum.iobroker.net/topic/50906/timer-erstellen-und-bei-bedarf-wieder-löschen/8

          R Offline
          R Offline
          Renegade 0
          schrieb am zuletzt editiert von
          #4

          @frankyboy73

          So endlich Wochenende und Zeit für meinen geliebten PC. Danke dir für die Infos. das hilft mir mal sehr weiter. DEnke, damit kann ich arbeiten.

          1 Antwort Letzte Antwort
          0
          • F frankyboy73

            @renegade-0 Hi, sonst schau noch mal hier rein, dort bin ich das Thema, mit dem Alexa Wecker auslesen und ne bestimmte Zeit vorher was auslösen mit @mickym und @MichMein durchgegangen.
            https://forum.iobroker.net/topic/50906/timer-erstellen-und-bei-bedarf-wieder-löschen/8

            R Offline
            R Offline
            Renegade 0
            schrieb am zuletzt editiert von
            #5

            @frankyboy73

            @mickym hat dir da ja den Beispiel-flow geschickt. Diesen würde ich gerne so abwandeln, dass ich mir per ioB get einen Wert vom Typ number hole und diesen von den Minuten abziehe (anstelle der fixen 30). Nur ich bekomme es nicht hin, dort eine variable aufzurufen. Hast du einen Tipp für mich?

            mickymM 1 Antwort Letzte Antwort
            0
            • R Renegade 0

              @frankyboy73

              @mickym hat dir da ja den Beispiel-flow geschickt. Diesen würde ich gerne so abwandeln, dass ich mir per ioB get einen Wert vom Typ number hole und diesen von den Minuten abziehe (anstelle der fixen 30). Nur ich bekomme es nicht hin, dort eine variable aufzurufen. Hast du einen Tipp für mich?

              mickymM Online
              mickymM Online
              mickym
              Most Active
              schrieb am zuletzt editiert von mickym
              #6

              @renegade-0 Du musst den Datenpunkt den Du mit get holst, halt einer anderen msg Eigenschaft zuweisen.

              [
                 {
                     "id": "5bcd8e82.59724",
                     "type": "switch",
                     "z": "289f539dcc33814e",
                     "name": "morgen?",
                     "property": "$moment(payload,'HH:mm:ss').isBefore($moment())",
                     "propertyType": "jsonata",
                     "rules": [
                         {
                             "t": "true"
                         },
                         {
                             "t": "false"
                         }
                     ],
                     "checkall": "true",
                     "repair": false,
                     "outputs": 2,
                     "x": 4160,
                     "y": 240,
                     "wires": [
                         [
                             "5b8e5917.919648"
                         ],
                         [
                             "c9217130.bc94b"
                         ]
                     ]
                 },
                 {
                     "id": "6efdae7e.c153f",
                     "type": "inject",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "props": [
                         {
                             "p": "payload"
                         }
                     ],
                     "repeat": "",
                     "crontab": "",
                     "once": false,
                     "onceDelay": 0.1,
                     "topic": "",
                     "payload": "01:50:00",
                     "payloadType": "str",
                     "x": 3560,
                     "y": 240,
                     "wires": [
                         [
                             "57a69faee4e96916"
                         ]
                     ]
                 },
                 {
                     "id": "5b8e5917.919648",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "$moment(payload).add(1, 'd').format('YYYY-MM-DD HH:mm:ss')\t",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 4340,
                     "y": 200,
                     "wires": [
                         [
                             "c7b6a7a.e0d8458"
                         ]
                     ]
                 },
                 {
                     "id": "cb97a519.2a5b98",
                     "type": "cronplus",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "outputField": "payload",
                     "timeZone": "",
                     "persistDynamic": false,
                     "commandResponseMsgOutput": "output1",
                     "outputs": 1,
                     "options": [
                         {
                             "name": "Boost",
                             "topic": "Boost",
                             "payloadType": "default",
                             "payload": "",
                             "expressionType": "dates",
                             "expression": "2021-11-23 00:00",
                             "location": "",
                             "offset": "0",
                             "solarType": "all",
                             "solarEvents": "sunrise,sunset"
                         }
                     ],
                     "x": 4800,
                     "y": 240,
                     "wires": [
                         []
                     ]
                 },
                 {
                     "id": "c7b6a7a.e0d8458",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "update cron plus",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "{\t    \"command\": \"update\",\t    \"name\": \"Boost\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 4590,
                     "y": 240,
                     "wires": [
                         [
                             "cb97a519.2a5b98"
                         ]
                     ]
                 },
                 {
                     "id": "c9217130.bc94b",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "$moment(payload).format('YYYY-MM-DD HH:mm:ss')\t",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 4330,
                     "y": 280,
                     "wires": [
                         [
                             "c7b6a7a.e0d8458"
                         ]
                     ]
                 },
                 {
                     "id": "ca868119.52d0d",
                     "type": "change",
                     "z": "289f539dcc33814e",
                     "name": "Alarm - x Minuten",
                     "rules": [
                         {
                             "t": "set",
                             "p": "payload",
                             "pt": "msg",
                             "to": "$moment(payload,'HH:mm:ss').subtract($$.offset, 'minutes')",
                             "tot": "jsonata"
                         }
                     ],
                     "action": "",
                     "property": "",
                     "from": "",
                     "to": "",
                     "reg": false,
                     "x": 3970,
                     "y": 240,
                     "wires": [
                         [
                             "5bcd8e82.59724"
                         ]
                     ]
                 },
                 {
                     "id": "57a69faee4e96916",
                     "type": "ioBroker get",
                     "z": "289f539dcc33814e",
                     "name": "",
                     "topic": "0_userdata.0.offset",
                     "attrname": "offset",
                     "payloadType": "value",
                     "errOnInvalidState": "nothing",
                     "x": 3750,
                     "y": 240,
                     "wires": [
                         [
                             "ca868119.52d0d"
                         ]
                     ]
                 }
              ]
              

              9e8c47f9-3068-4633-8607-0884ec22b455-image.png

              Von 01:50 wird variabel 15 Minuten abgezogen, das ergibt 01:35

              Für wiederkehrende Alarms - kann man sich easy über die Change Node auch cron expressions ausgeben lassen.

              93851e35-130d-4227-9414-8452e0cd804c-image.png

              Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

              R 1 Antwort Letzte Antwort
              0
              • mickymM mickym

                @renegade-0 Du musst den Datenpunkt den Du mit get holst, halt einer anderen msg Eigenschaft zuweisen.

                [
                   {
                       "id": "5bcd8e82.59724",
                       "type": "switch",
                       "z": "289f539dcc33814e",
                       "name": "morgen?",
                       "property": "$moment(payload,'HH:mm:ss').isBefore($moment())",
                       "propertyType": "jsonata",
                       "rules": [
                           {
                               "t": "true"
                           },
                           {
                               "t": "false"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 4160,
                       "y": 240,
                       "wires": [
                           [
                               "5b8e5917.919648"
                           ],
                           [
                               "c9217130.bc94b"
                           ]
                       ]
                   },
                   {
                       "id": "6efdae7e.c153f",
                       "type": "inject",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "01:50:00",
                       "payloadType": "str",
                       "x": 3560,
                       "y": 240,
                       "wires": [
                           [
                               "57a69faee4e96916"
                           ]
                       ]
                   },
                   {
                       "id": "5b8e5917.919648",
                       "type": "change",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$moment(payload).add(1, 'd').format('YYYY-MM-DD HH:mm:ss')\t",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 4340,
                       "y": 200,
                       "wires": [
                           [
                               "c7b6a7a.e0d8458"
                           ]
                       ]
                   },
                   {
                       "id": "cb97a519.2a5b98",
                       "type": "cronplus",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "outputField": "payload",
                       "timeZone": "",
                       "persistDynamic": false,
                       "commandResponseMsgOutput": "output1",
                       "outputs": 1,
                       "options": [
                           {
                               "name": "Boost",
                               "topic": "Boost",
                               "payloadType": "default",
                               "payload": "",
                               "expressionType": "dates",
                               "expression": "2021-11-23 00:00",
                               "location": "",
                               "offset": "0",
                               "solarType": "all",
                               "solarEvents": "sunrise,sunset"
                           }
                       ],
                       "x": 4800,
                       "y": 240,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "c7b6a7a.e0d8458",
                       "type": "change",
                       "z": "289f539dcc33814e",
                       "name": "update cron plus",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "{\t    \"command\": \"update\",\t    \"name\": \"Boost\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 4590,
                       "y": 240,
                       "wires": [
                           [
                               "cb97a519.2a5b98"
                           ]
                       ]
                   },
                   {
                       "id": "c9217130.bc94b",
                       "type": "change",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$moment(payload).format('YYYY-MM-DD HH:mm:ss')\t",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 4330,
                       "y": 280,
                       "wires": [
                           [
                               "c7b6a7a.e0d8458"
                           ]
                       ]
                   },
                   {
                       "id": "ca868119.52d0d",
                       "type": "change",
                       "z": "289f539dcc33814e",
                       "name": "Alarm - x Minuten",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$moment(payload,'HH:mm:ss').subtract($$.offset, 'minutes')",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 3970,
                       "y": 240,
                       "wires": [
                           [
                               "5bcd8e82.59724"
                           ]
                       ]
                   },
                   {
                       "id": "57a69faee4e96916",
                       "type": "ioBroker get",
                       "z": "289f539dcc33814e",
                       "name": "",
                       "topic": "0_userdata.0.offset",
                       "attrname": "offset",
                       "payloadType": "value",
                       "errOnInvalidState": "nothing",
                       "x": 3750,
                       "y": 240,
                       "wires": [
                           [
                               "ca868119.52d0d"
                           ]
                       ]
                   }
                ]
                

                9e8c47f9-3068-4633-8607-0884ec22b455-image.png

                Von 01:50 wird variabel 15 Minuten abgezogen, das ergibt 01:35

                Für wiederkehrende Alarms - kann man sich easy über die Change Node auch cron expressions ausgeben lassen.

                93851e35-130d-4227-9414-8452e0cd804c-image.png

                R Offline
                R Offline
                Renegade 0
                schrieb am zuletzt editiert von
                #7

                @mickym

                nur mal langsam mit den alten Eseln. ;) So schnell isser ned.
                Also danke erstmal für deinen Tipp. Hatte den Aufruf der Variable falsch. Jetzt passt zumindest mal das. Ich bekomme alle Daten im flow und hab die Logik mal halbwegs fertig.
                Lichtwecker-script.PNG

                [
                   {
                       "id": "582b1bd74b95c464",
                       "type": "tab",
                       "label": "Lichtwecker",
                       "disabled": false,
                       "info": "",
                       "env": []
                   },
                   {
                       "id": "6f4ddb754b196ae9",
                       "type": "switch",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "true"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 1,
                       "x": 330,
                       "y": 360,
                       "wires": [
                           [
                               "b5cb17a5fe624f81"
                           ]
                       ]
                   },
                   {
                       "id": "50270ac27de29845",
                       "type": "ioBroker in",
                       "z": "582b1bd74b95c464",
                       "name": "active Alarm",
                       "topic": "alexa2.0.Echo-Devices.G091P30821130CDN.Alarm.*.enabled",
                       "payloadType": "value",
                       "onlyack": "",
                       "func": "rbe",
                       "gap": "",
                       "fireOnStart": "false",
                       "outFormat": "ioBroker",
                       "x": 170,
                       "y": 360,
                       "wires": [
                           [
                               "6f4ddb754b196ae9"
                           ]
                       ]
                   },
                   {
                       "id": "e7d69f2291a5c66a",
                       "type": "ioBroker get",
                       "z": "582b1bd74b95c464",
                       "name": "date",
                       "topic": "",
                       "attrname": "get_date",
                       "payloadType": "value",
                       "errOnInvalidState": "nothing",
                       "x": 630,
                       "y": 360,
                       "wires": [
                           [
                               "8fa6fce7c8f595da"
                           ]
                       ]
                   },
                   {
                       "id": "b5cb17a5fe624f81",
                       "type": "change",
                       "z": "582b1bd74b95c464",
                       "name": "get date",
                       "rules": [
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": "enabled",
                               "fromt": "str",
                               "to": "date",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 480,
                       "y": 360,
                       "wires": [
                           [
                               "e7d69f2291a5c66a"
                           ]
                       ]
                   },
                   {
                       "id": "2eb63f5419ad7c1f",
                       "type": "ioBroker get",
                       "z": "582b1bd74b95c464",
                       "name": "time",
                       "topic": "",
                       "attrname": "get_time",
                       "payloadType": "value",
                       "x": 930,
                       "y": 360,
                       "wires": [
                           [
                               "d1410bcad5828dc9"
                           ]
                       ]
                   },
                   {
                       "id": "8fa6fce7c8f595da",
                       "type": "change",
                       "z": "582b1bd74b95c464",
                       "name": "get time",
                       "rules": [
                           {
                               "t": "change",
                               "p": "topic",
                               "pt": "msg",
                               "from": "date",
                               "fromt": "str",
                               "to": "time",
                               "tot": "str"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 780,
                       "y": 360,
                       "wires": [
                           [
                               "2eb63f5419ad7c1f"
                           ]
                       ]
                   },
                   {
                       "id": "d1410bcad5828dc9",
                       "type": "ioBroker get",
                       "z": "582b1bd74b95c464",
                       "name": "time_pre",
                       "topic": "0_userdata.0.smart-home.utils.Lichtwecker.time_pre",
                       "attrname": "time_pre",
                       "payloadType": "value",
                       "errOnInvalidState": "nothing",
                       "x": 1080,
                       "y": 360,
                       "wires": [
                           [
                               "5b077601edc2d0f0"
                           ]
                       ]
                   },
                   {
                       "id": "5b077601edc2d0f0",
                       "type": "switch",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "property": "time_pre",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "istype",
                               "v": "number",
                               "vt": "number"
                           },
                           {
                               "t": "else"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 190,
                       "y": 600,
                       "wires": [
                           [
                               "2fd34dfda714c704"
                           ],
                           [
                               "456aadcd7d96cbc3"
                           ]
                       ]
                   },
                   {
                       "id": "ef4c7b9b08788ed9",
                       "type": "cronplus",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "outputField": "payload",
                       "timeZone": "",
                       "persistDynamic": false,
                       "commandResponseMsgOutput": "output1",
                       "outputs": 1,
                       "options": [
                           {
                               "name": "Boost",
                               "topic": "Boost",
                               "payloadType": "default",
                               "payload": "",
                               "expressionType": "dates",
                               "expression": "2021-11-23 00:00",
                               "location": "",
                               "offset": "0",
                               "solarType": "all",
                               "solarEvents": "sunrise,sunset"
                           }
                       ],
                       "x": 800,
                       "y": 560,
                       "wires": [
                           []
                       ]
                   },
                   {
                       "id": "ac453d5e64a6df2b",
                       "type": "change",
                       "z": "582b1bd74b95c464",
                       "name": "update cron plus",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "{\t    \"command\": \"update\",\t    \"name\": \"Boost\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 590,
                       "y": 560,
                       "wires": [
                           [
                               "ef4c7b9b08788ed9"
                           ]
                       ]
                   },
                   {
                       "id": "2fd34dfda714c704",
                       "type": "change",
                       "z": "582b1bd74b95c464",
                       "name": "Alarm - x Minuten",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "$moment($$.get_date+\" \"+$$.get_time,'HH:mm:ss').subtract($$.time_pre, 'minutes')",
                               "tot": "jsonata"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 370,
                       "y": 560,
                       "wires": [
                           [
                               "ac453d5e64a6df2b"
                           ]
                       ]
                   },
                   {
                       "id": "84ef79a72b17b3e9",
                       "type": "inject",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "true",
                       "payloadType": "bool",
                       "x": 166,
                       "y": 95,
                       "wires": [
                           [
                               "1385e8df12ccf6fe"
                           ]
                       ]
                   },
                   {
                       "id": "1385e8df12ccf6fe",
                       "type": "switch",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "true"
                           },
                           {
                               "t": "false"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 386,
                       "y": 95,
                       "wires": [
                           [
                               "e12bf9a97242a8a8"
                           ],
                           [
                               "e12bf9a97242a8a8"
                           ]
                       ]
                   },
                   {
                       "id": "e12bf9a97242a8a8",
                       "type": "ioBroker out",
                       "z": "582b1bd74b95c464",
                       "name": "enabled",
                       "topic": "0_userdata.0.smart-home.utils.Lichtwecker.enabled",
                       "ack": "false",
                       "autoCreate": "false",
                       "stateName": "",
                       "role": "",
                       "payloadType": "",
                       "readonly": "",
                       "stateUnit": "",
                       "stateMin": "",
                       "stateMax": "",
                       "x": 620,
                       "y": 100,
                       "wires": []
                   },
                   {
                       "id": "7f6efecfe4a47856",
                       "type": "inject",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "false",
                       "payloadType": "bool",
                       "x": 166,
                       "y": 135,
                       "wires": [
                           [
                               "1385e8df12ccf6fe"
                           ]
                       ]
                   },
                   {
                       "id": "b86a11ccbc246ac6",
                       "type": "inject",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "true",
                       "payloadType": "bool",
                       "x": 170,
                       "y": 200,
                       "wires": [
                           [
                               "149fe04f050f25da"
                           ]
                       ]
                   },
                   {
                       "id": "149fe04f050f25da",
                       "type": "switch",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "property": "payload",
                       "propertyType": "msg",
                       "rules": [
                           {
                               "t": "true"
                           },
                           {
                               "t": "false"
                           }
                       ],
                       "checkall": "true",
                       "repair": false,
                       "outputs": 2,
                       "x": 390,
                       "y": 200,
                       "wires": [
                           [
                               "c6188c22d44e46f8"
                           ],
                           [
                               "c6188c22d44e46f8"
                           ]
                       ]
                   },
                   {
                       "id": "c6188c22d44e46f8",
                       "type": "ioBroker out",
                       "z": "582b1bd74b95c464",
                       "name": "17:45:00 Enabled",
                       "topic": "alexa2.0.Echo-Devices.G091P30821130CDN.Alarm.36d6f593-7f0b-35a3-9864-c2bffe53b179.enabled",
                       "ack": "false",
                       "autoCreate": "false",
                       "stateName": "",
                       "role": "",
                       "payloadType": "",
                       "readonly": "",
                       "stateUnit": "",
                       "stateMin": "",
                       "stateMax": "",
                       "x": 654,
                       "y": 205,
                       "wires": []
                   },
                   {
                       "id": "8ccef7c461ded6c1",
                       "type": "inject",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "props": [
                           {
                               "p": "payload"
                           },
                           {
                               "p": "topic",
                               "vt": "str"
                           }
                       ],
                       "repeat": "",
                       "crontab": "",
                       "once": false,
                       "onceDelay": 0.1,
                       "topic": "",
                       "payload": "false",
                       "payloadType": "bool",
                       "x": 170,
                       "y": 240,
                       "wires": [
                           [
                               "149fe04f050f25da"
                           ]
                       ]
                   },
                   {
                       "id": "22596d17f84cc77a",
                       "type": "ioBroker out",
                       "z": "582b1bd74b95c464",
                       "name": "Lichtwecker off",
                       "topic": "0_userdata.0.smart-home.utils.Lichtwecker.enabled",
                       "ack": "false",
                       "autoCreate": "false",
                       "stateName": "",
                       "role": "",
                       "payloadType": "",
                       "readonly": "",
                       "stateUnit": "",
                       "stateMin": "",
                       "stateMax": "",
                       "x": 580,
                       "y": 640,
                       "wires": []
                   },
                   {
                       "id": "456aadcd7d96cbc3",
                       "type": "change",
                       "z": "582b1bd74b95c464",
                       "name": "",
                       "rules": [
                           {
                               "t": "set",
                               "p": "payload",
                               "pt": "msg",
                               "to": "false",
                               "tot": "bool"
                           }
                       ],
                       "action": "",
                       "property": "",
                       "from": "",
                       "to": "",
                       "reg": false,
                       "x": 370,
                       "y": 640,
                       "wires": [
                           [
                               "22596d17f84cc77a"
                           ]
                       ]
                   }
                ]
                


                das morgen brauche ich nicht. Es wird ja auch das Datum ausgelesen und soll im $moment mit eingebunden werden. Allerdings bekomm ich da die Formatierung nicht hin. Also im Alarm - x Minuten. Dann ist es zumindest schon mal so weit, dass alle Werte über Datenpunkte eingestellt werden können, und beim generieren/aktivieren eines Alexa Alarms wird x - Minuten vorher eine Aktion gestartet.

                Dann muss ich nur noch einfügen, dass man den Lichtwecker an bzw. ausschalten kann. (einen Wert abfragen und gut) und prüfen, wie es sich verhält, wenn mehrere Wecker gestellt sind bzw. werden.

                mickymM 1 Antwort Letzte Antwort
                0
                • R Renegade 0

                  @mickym

                  nur mal langsam mit den alten Eseln. ;) So schnell isser ned.
                  Also danke erstmal für deinen Tipp. Hatte den Aufruf der Variable falsch. Jetzt passt zumindest mal das. Ich bekomme alle Daten im flow und hab die Logik mal halbwegs fertig.
                  Lichtwecker-script.PNG

                  [
                     {
                         "id": "582b1bd74b95c464",
                         "type": "tab",
                         "label": "Lichtwecker",
                         "disabled": false,
                         "info": "",
                         "env": []
                     },
                     {
                         "id": "6f4ddb754b196ae9",
                         "type": "switch",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 1,
                         "x": 330,
                         "y": 360,
                         "wires": [
                             [
                                 "b5cb17a5fe624f81"
                             ]
                         ]
                     },
                     {
                         "id": "50270ac27de29845",
                         "type": "ioBroker in",
                         "z": "582b1bd74b95c464",
                         "name": "active Alarm",
                         "topic": "alexa2.0.Echo-Devices.G091P30821130CDN.Alarm.*.enabled",
                         "payloadType": "value",
                         "onlyack": "",
                         "func": "rbe",
                         "gap": "",
                         "fireOnStart": "false",
                         "outFormat": "ioBroker",
                         "x": 170,
                         "y": 360,
                         "wires": [
                             [
                                 "6f4ddb754b196ae9"
                             ]
                         ]
                     },
                     {
                         "id": "e7d69f2291a5c66a",
                         "type": "ioBroker get",
                         "z": "582b1bd74b95c464",
                         "name": "date",
                         "topic": "",
                         "attrname": "get_date",
                         "payloadType": "value",
                         "errOnInvalidState": "nothing",
                         "x": 630,
                         "y": 360,
                         "wires": [
                             [
                                 "8fa6fce7c8f595da"
                             ]
                         ]
                     },
                     {
                         "id": "b5cb17a5fe624f81",
                         "type": "change",
                         "z": "582b1bd74b95c464",
                         "name": "get date",
                         "rules": [
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": "enabled",
                                 "fromt": "str",
                                 "to": "date",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 480,
                         "y": 360,
                         "wires": [
                             [
                                 "e7d69f2291a5c66a"
                             ]
                         ]
                     },
                     {
                         "id": "2eb63f5419ad7c1f",
                         "type": "ioBroker get",
                         "z": "582b1bd74b95c464",
                         "name": "time",
                         "topic": "",
                         "attrname": "get_time",
                         "payloadType": "value",
                         "x": 930,
                         "y": 360,
                         "wires": [
                             [
                                 "d1410bcad5828dc9"
                             ]
                         ]
                     },
                     {
                         "id": "8fa6fce7c8f595da",
                         "type": "change",
                         "z": "582b1bd74b95c464",
                         "name": "get time",
                         "rules": [
                             {
                                 "t": "change",
                                 "p": "topic",
                                 "pt": "msg",
                                 "from": "date",
                                 "fromt": "str",
                                 "to": "time",
                                 "tot": "str"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 780,
                         "y": 360,
                         "wires": [
                             [
                                 "2eb63f5419ad7c1f"
                             ]
                         ]
                     },
                     {
                         "id": "d1410bcad5828dc9",
                         "type": "ioBroker get",
                         "z": "582b1bd74b95c464",
                         "name": "time_pre",
                         "topic": "0_userdata.0.smart-home.utils.Lichtwecker.time_pre",
                         "attrname": "time_pre",
                         "payloadType": "value",
                         "errOnInvalidState": "nothing",
                         "x": 1080,
                         "y": 360,
                         "wires": [
                             [
                                 "5b077601edc2d0f0"
                             ]
                         ]
                     },
                     {
                         "id": "5b077601edc2d0f0",
                         "type": "switch",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "property": "time_pre",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "istype",
                                 "v": "number",
                                 "vt": "number"
                             },
                             {
                                 "t": "else"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 190,
                         "y": 600,
                         "wires": [
                             [
                                 "2fd34dfda714c704"
                             ],
                             [
                                 "456aadcd7d96cbc3"
                             ]
                         ]
                     },
                     {
                         "id": "ef4c7b9b08788ed9",
                         "type": "cronplus",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "outputField": "payload",
                         "timeZone": "",
                         "persistDynamic": false,
                         "commandResponseMsgOutput": "output1",
                         "outputs": 1,
                         "options": [
                             {
                                 "name": "Boost",
                                 "topic": "Boost",
                                 "payloadType": "default",
                                 "payload": "",
                                 "expressionType": "dates",
                                 "expression": "2021-11-23 00:00",
                                 "location": "",
                                 "offset": "0",
                                 "solarType": "all",
                                 "solarEvents": "sunrise,sunset"
                             }
                         ],
                         "x": 800,
                         "y": 560,
                         "wires": [
                             []
                         ]
                     },
                     {
                         "id": "ac453d5e64a6df2b",
                         "type": "change",
                         "z": "582b1bd74b95c464",
                         "name": "update cron plus",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "{\t    \"command\": \"update\",\t    \"name\": \"Boost\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 590,
                         "y": 560,
                         "wires": [
                             [
                                 "ef4c7b9b08788ed9"
                             ]
                         ]
                     },
                     {
                         "id": "2fd34dfda714c704",
                         "type": "change",
                         "z": "582b1bd74b95c464",
                         "name": "Alarm - x Minuten",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "$moment($$.get_date+\" \"+$$.get_time,'HH:mm:ss').subtract($$.time_pre, 'minutes')",
                                 "tot": "jsonata"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 370,
                         "y": 560,
                         "wires": [
                             [
                                 "ac453d5e64a6df2b"
                             ]
                         ]
                     },
                     {
                         "id": "84ef79a72b17b3e9",
                         "type": "inject",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "true",
                         "payloadType": "bool",
                         "x": 166,
                         "y": 95,
                         "wires": [
                             [
                                 "1385e8df12ccf6fe"
                             ]
                         ]
                     },
                     {
                         "id": "1385e8df12ccf6fe",
                         "type": "switch",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             },
                             {
                                 "t": "false"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 386,
                         "y": 95,
                         "wires": [
                             [
                                 "e12bf9a97242a8a8"
                             ],
                             [
                                 "e12bf9a97242a8a8"
                             ]
                         ]
                     },
                     {
                         "id": "e12bf9a97242a8a8",
                         "type": "ioBroker out",
                         "z": "582b1bd74b95c464",
                         "name": "enabled",
                         "topic": "0_userdata.0.smart-home.utils.Lichtwecker.enabled",
                         "ack": "false",
                         "autoCreate": "false",
                         "stateName": "",
                         "role": "",
                         "payloadType": "",
                         "readonly": "",
                         "stateUnit": "",
                         "stateMin": "",
                         "stateMax": "",
                         "x": 620,
                         "y": 100,
                         "wires": []
                     },
                     {
                         "id": "7f6efecfe4a47856",
                         "type": "inject",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "false",
                         "payloadType": "bool",
                         "x": 166,
                         "y": 135,
                         "wires": [
                             [
                                 "1385e8df12ccf6fe"
                             ]
                         ]
                     },
                     {
                         "id": "b86a11ccbc246ac6",
                         "type": "inject",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "true",
                         "payloadType": "bool",
                         "x": 170,
                         "y": 200,
                         "wires": [
                             [
                                 "149fe04f050f25da"
                             ]
                         ]
                     },
                     {
                         "id": "149fe04f050f25da",
                         "type": "switch",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "property": "payload",
                         "propertyType": "msg",
                         "rules": [
                             {
                                 "t": "true"
                             },
                             {
                                 "t": "false"
                             }
                         ],
                         "checkall": "true",
                         "repair": false,
                         "outputs": 2,
                         "x": 390,
                         "y": 200,
                         "wires": [
                             [
                                 "c6188c22d44e46f8"
                             ],
                             [
                                 "c6188c22d44e46f8"
                             ]
                         ]
                     },
                     {
                         "id": "c6188c22d44e46f8",
                         "type": "ioBroker out",
                         "z": "582b1bd74b95c464",
                         "name": "17:45:00 Enabled",
                         "topic": "alexa2.0.Echo-Devices.G091P30821130CDN.Alarm.36d6f593-7f0b-35a3-9864-c2bffe53b179.enabled",
                         "ack": "false",
                         "autoCreate": "false",
                         "stateName": "",
                         "role": "",
                         "payloadType": "",
                         "readonly": "",
                         "stateUnit": "",
                         "stateMin": "",
                         "stateMax": "",
                         "x": 654,
                         "y": 205,
                         "wires": []
                     },
                     {
                         "id": "8ccef7c461ded6c1",
                         "type": "inject",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "props": [
                             {
                                 "p": "payload"
                             },
                             {
                                 "p": "topic",
                                 "vt": "str"
                             }
                         ],
                         "repeat": "",
                         "crontab": "",
                         "once": false,
                         "onceDelay": 0.1,
                         "topic": "",
                         "payload": "false",
                         "payloadType": "bool",
                         "x": 170,
                         "y": 240,
                         "wires": [
                             [
                                 "149fe04f050f25da"
                             ]
                         ]
                     },
                     {
                         "id": "22596d17f84cc77a",
                         "type": "ioBroker out",
                         "z": "582b1bd74b95c464",
                         "name": "Lichtwecker off",
                         "topic": "0_userdata.0.smart-home.utils.Lichtwecker.enabled",
                         "ack": "false",
                         "autoCreate": "false",
                         "stateName": "",
                         "role": "",
                         "payloadType": "",
                         "readonly": "",
                         "stateUnit": "",
                         "stateMin": "",
                         "stateMax": "",
                         "x": 580,
                         "y": 640,
                         "wires": []
                     },
                     {
                         "id": "456aadcd7d96cbc3",
                         "type": "change",
                         "z": "582b1bd74b95c464",
                         "name": "",
                         "rules": [
                             {
                                 "t": "set",
                                 "p": "payload",
                                 "pt": "msg",
                                 "to": "false",
                                 "tot": "bool"
                             }
                         ],
                         "action": "",
                         "property": "",
                         "from": "",
                         "to": "",
                         "reg": false,
                         "x": 370,
                         "y": 640,
                         "wires": [
                             [
                                 "22596d17f84cc77a"
                             ]
                         ]
                     }
                  ]
                  


                  das morgen brauche ich nicht. Es wird ja auch das Datum ausgelesen und soll im $moment mit eingebunden werden. Allerdings bekomm ich da die Formatierung nicht hin. Also im Alarm - x Minuten. Dann ist es zumindest schon mal so weit, dass alle Werte über Datenpunkte eingestellt werden können, und beim generieren/aktivieren eines Alexa Alarms wird x - Minuten vorher eine Aktion gestartet.

                  Dann muss ich nur noch einfügen, dass man den Lichtwecker an bzw. ausschalten kann. (einen Wert abfragen und gut) und prüfen, wie es sich verhält, wenn mehrere Wecker gestellt sind bzw. werden.

                  mickymM Online
                  mickymM Online
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #8

                  @renegade-0 Ok - ich sehe schon das Problem.

                  $moment($$.get_date+" "+$$.get_time,'HH:mm:ss').subtract($$.time_pre, 'minutes')
                  

                  Du musst halt mal posten, mit was Du Datumsstring erzeugen willst. Entweder erstellst Du im Vorfeld das Datum mit einer payload, mit der sich direkt ein $moment erzeugen lässt:

                  https://momentjs.com/docs/#/parsing/string/

                  In dem Fall brauch der Parser gar keine Hilfe, zur Interpretation des Eingabedatums. Insofern brauchst Du die Eingabe-Formatierung nämlich gar nicht. Ich sehe ja zum Glück hast Du ja den Screenshot gepostet. Musst Du gar nicht machen, als das nur zusammen setzen.

                  So ich hab Dir die Change-Node so gebastelt, das es funktionieren sollte.

                  $moment($$.get_date & " " & $$.get_time).subtract($$.time_pre, 'minutes').format('YYYY-MM-DD HH:mm:ss')	
                  

                  [
                      {
                          "id": "2fd34dfda714c704",
                          "type": "change",
                          "z": "582b1bd74b95c464",
                          "name": "Alarm - x Minuten",
                          "rules": [
                              {
                                  "t": "set",
                                  "p": "payload",
                                  "pt": "msg",
                                  "to": "$moment($$.get_date & \" \" & $$.get_time).subtract($$.time_pre, 'minutes').format('YYYY-MM-DD HH:mm:ss')\t",
                                  "tot": "jsonata"
                              }
                          ],
                          "action": "",
                          "property": "",
                          "from": "",
                          "to": "",
                          "reg": false,
                          "x": 370,
                          "y": 560,
                          "wires": [
                              [
                                  "201593768bcdc439",
                                  "ac453d5e64a6df2b"
                              ]
                          ]
                      }
                  ]
                  

                  Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                  R 1 Antwort Letzte Antwort
                  0
                  • mickymM mickym

                    @renegade-0 Ok - ich sehe schon das Problem.

                    $moment($$.get_date+" "+$$.get_time,'HH:mm:ss').subtract($$.time_pre, 'minutes')
                    

                    Du musst halt mal posten, mit was Du Datumsstring erzeugen willst. Entweder erstellst Du im Vorfeld das Datum mit einer payload, mit der sich direkt ein $moment erzeugen lässt:

                    https://momentjs.com/docs/#/parsing/string/

                    In dem Fall brauch der Parser gar keine Hilfe, zur Interpretation des Eingabedatums. Insofern brauchst Du die Eingabe-Formatierung nämlich gar nicht. Ich sehe ja zum Glück hast Du ja den Screenshot gepostet. Musst Du gar nicht machen, als das nur zusammen setzen.

                    So ich hab Dir die Change-Node so gebastelt, das es funktionieren sollte.

                    $moment($$.get_date & " " & $$.get_time).subtract($$.time_pre, 'minutes').format('YYYY-MM-DD HH:mm:ss')	
                    

                    [
                        {
                            "id": "2fd34dfda714c704",
                            "type": "change",
                            "z": "582b1bd74b95c464",
                            "name": "Alarm - x Minuten",
                            "rules": [
                                {
                                    "t": "set",
                                    "p": "payload",
                                    "pt": "msg",
                                    "to": "$moment($$.get_date & \" \" & $$.get_time).subtract($$.time_pre, 'minutes').format('YYYY-MM-DD HH:mm:ss')\t",
                                    "tot": "jsonata"
                                }
                            ],
                            "action": "",
                            "property": "",
                            "from": "",
                            "to": "",
                            "reg": false,
                            "x": 370,
                            "y": 560,
                            "wires": [
                                [
                                    "201593768bcdc439",
                                    "ac453d5e64a6df2b"
                                ]
                            ]
                        }
                    ]
                    

                    R Offline
                    R Offline
                    Renegade 0
                    schrieb am zuletzt editiert von
                    #9

                    @mickym

                    $moment($$.get_date+" "+$$.get_time,'HH:mm:ss').subtract($$.time_pre, 'minutes')
                    

                    Das ist noch falsch. Also quasi aus den variablen get_date und get_time die korrekte Formatierung für $moment.
                    Auf dem Bild ist unter den Datenpunkten zu sehen, wie die Strings aussehen.

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • R Renegade 0

                      @mickym

                      $moment($$.get_date+" "+$$.get_time,'HH:mm:ss').subtract($$.time_pre, 'minutes')
                      

                      Das ist noch falsch. Also quasi aus den variablen get_date und get_time die korrekte Formatierung für $moment.
                      Auf dem Bild ist unter den Datenpunkten zu sehen, wie die Strings aussehen.

                      mickymM Online
                      mickymM Online
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #10

                      @renegade-0 Hab es Dir gerade geändert. Wenn Du die Ausgabeformatierung aus den beiden Change Nodes des ursprünglichen Flows, einfach wegschmeisst, solltest Du natürlich schauen, was die machen und dann halt vorher implementieren. Wie gesagt hab dir den Code gepostet.

                      Außerdem verknüpft man Zeichenketten in JSONATA nicht mit "+" sondern mit "&". ;)
                      https://docs.jsonata.org/other-operators

                      Im Prinzip kann die cron-plus Node auch mehrere Alarms machen - wenn Du mehrere Alexa Alarms gleichzeitig hast. Du brauchst auch keinen Statischen definieren.

                      Also Du kannst die cron-plus Node durchaus leeren und dann über das topic definieren.

                      2d3e7fe4-7866-4d6f-9f2e-c588e1de5706-image.png

                      Die Alarme, die Du nicht fix in die cronplus eingegeben hast, sind dynamische Alarms - die kannst Du auch ausgeben lassen.

                      087c6480-60d8-4879-9df8-0413ddc499ad-image.png

                      Ich poste Dir nochmal kurz den letzten Teil des Flows:

                      [
                         {
                             "id": "ef4c7b9b08788ed9",
                             "type": "cronplus",
                             "z": "582b1bd74b95c464",
                             "name": "",
                             "outputField": "payload",
                             "timeZone": "",
                             "persistDynamic": false,
                             "commandResponseMsgOutput": "output1",
                             "outputs": 1,
                             "options": [
                                 {
                                     "name": "Boost",
                                     "topic": "Boost",
                                     "payloadType": "default",
                                     "payload": "",
                                     "expressionType": "dates",
                                     "expression": "2021-11-23 00:00",
                                     "location": "",
                                     "offset": "0",
                                     "solarType": "all",
                                     "solarEvents": "sunrise,sunset"
                                 }
                             ],
                             "x": 800,
                             "y": 560,
                             "wires": [
                                 [
                                     "29b7eb74d85375e7"
                                 ]
                             ]
                         },
                         {
                             "id": "ac453d5e64a6df2b",
                             "type": "change",
                             "z": "582b1bd74b95c464",
                             "name": "update cron plus",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "{\t    \"command\": \"add\",\t    \"name\": \"Alexa\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 590,
                             "y": 560,
                             "wires": [
                                 [
                                     "ef4c7b9b08788ed9"
                                 ]
                             ]
                         },
                         {
                             "id": "fa9b3a45a0bb61a7",
                             "type": "inject",
                             "z": "582b1bd74b95c464",
                             "name": "",
                             "props": [
                                 {
                                     "p": "topic",
                                     "vt": "str"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "status-all",
                             "x": 620,
                             "y": 500,
                             "wires": [
                                 [
                                     "ef4c7b9b08788ed9"
                                 ]
                             ]
                         },
                         {
                             "id": "29b7eb74d85375e7",
                             "type": "debug",
                             "z": "582b1bd74b95c464",
                             "name": "Aktive Alarms",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 1020,
                             "y": 560,
                             "wires": []
                         },
                         {
                             "id": "42db4f692eb73166",
                             "type": "inject",
                             "z": "582b1bd74b95c464",
                             "name": "",
                             "props": [
                                 {
                                     "p": "topic",
                                     "vt": "str"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "remove-all",
                             "x": 620,
                             "y": 460,
                             "wires": [
                                 [
                                     "ef4c7b9b08788ed9"
                                 ]
                             ]
                         }
                      ]
                      

                      Du kannst im Übrigen auch bei dem Alarm mitgeben, welche payload die Node ausspuken soll, falls Du das für die Steuerung Deiner Lampe brauchst.

                      Also wenn Du mit true Deine Lampe einschaltest, kannst Du Dir zu dem Zeitpunkt einfach nur ein true ausgeben lassen. Erspart Dir eine ChangeNode.

                      {
                          "command": "add",
                          "name": "Alexa",
                          "expression": payload,
                          "expressionType": "dates",
                          "payloadType" : "bool",
                          "payload" : true
                      }
                      

                      Über den Namen kannst Du Dir ggf. auch mit dem topic (aus Alexa Datenpunkten) mehrere Alarms in der cron-plus Node definieren.

                      Über den status bekommst Du zu allen Alarms als Array geliefert:

                      b37cd08f-bcbd-4d91-8646-025460543ec3-image.png

                      Du solltest dann nur alle inaktiven Alarms löschen (vielleicht einmal am Tag), wenn Du nicht nur mit einem arbeiten willst den Du updatest, wie im ursprünglichen Flow:

                      db2c2825-03c9-45ef-9727-592d66823e20-image.png

                      Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                      R 2 Antworten Letzte Antwort
                      0
                      • mickymM mickym

                        @renegade-0 Hab es Dir gerade geändert. Wenn Du die Ausgabeformatierung aus den beiden Change Nodes des ursprünglichen Flows, einfach wegschmeisst, solltest Du natürlich schauen, was die machen und dann halt vorher implementieren. Wie gesagt hab dir den Code gepostet.

                        Außerdem verknüpft man Zeichenketten in JSONATA nicht mit "+" sondern mit "&". ;)
                        https://docs.jsonata.org/other-operators

                        Im Prinzip kann die cron-plus Node auch mehrere Alarms machen - wenn Du mehrere Alexa Alarms gleichzeitig hast. Du brauchst auch keinen Statischen definieren.

                        Also Du kannst die cron-plus Node durchaus leeren und dann über das topic definieren.

                        2d3e7fe4-7866-4d6f-9f2e-c588e1de5706-image.png

                        Die Alarme, die Du nicht fix in die cronplus eingegeben hast, sind dynamische Alarms - die kannst Du auch ausgeben lassen.

                        087c6480-60d8-4879-9df8-0413ddc499ad-image.png

                        Ich poste Dir nochmal kurz den letzten Teil des Flows:

                        [
                           {
                               "id": "ef4c7b9b08788ed9",
                               "type": "cronplus",
                               "z": "582b1bd74b95c464",
                               "name": "",
                               "outputField": "payload",
                               "timeZone": "",
                               "persistDynamic": false,
                               "commandResponseMsgOutput": "output1",
                               "outputs": 1,
                               "options": [
                                   {
                                       "name": "Boost",
                                       "topic": "Boost",
                                       "payloadType": "default",
                                       "payload": "",
                                       "expressionType": "dates",
                                       "expression": "2021-11-23 00:00",
                                       "location": "",
                                       "offset": "0",
                                       "solarType": "all",
                                       "solarEvents": "sunrise,sunset"
                                   }
                               ],
                               "x": 800,
                               "y": 560,
                               "wires": [
                                   [
                                       "29b7eb74d85375e7"
                                   ]
                               ]
                           },
                           {
                               "id": "ac453d5e64a6df2b",
                               "type": "change",
                               "z": "582b1bd74b95c464",
                               "name": "update cron plus",
                               "rules": [
                                   {
                                       "t": "set",
                                       "p": "payload",
                                       "pt": "msg",
                                       "to": "{\t    \"command\": \"add\",\t    \"name\": \"Alexa\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                                       "tot": "jsonata"
                                   }
                               ],
                               "action": "",
                               "property": "",
                               "from": "",
                               "to": "",
                               "reg": false,
                               "x": 590,
                               "y": 560,
                               "wires": [
                                   [
                                       "ef4c7b9b08788ed9"
                                   ]
                               ]
                           },
                           {
                               "id": "fa9b3a45a0bb61a7",
                               "type": "inject",
                               "z": "582b1bd74b95c464",
                               "name": "",
                               "props": [
                                   {
                                       "p": "topic",
                                       "vt": "str"
                                   }
                               ],
                               "repeat": "",
                               "crontab": "",
                               "once": false,
                               "onceDelay": 0.1,
                               "topic": "status-all",
                               "x": 620,
                               "y": 500,
                               "wires": [
                                   [
                                       "ef4c7b9b08788ed9"
                                   ]
                               ]
                           },
                           {
                               "id": "29b7eb74d85375e7",
                               "type": "debug",
                               "z": "582b1bd74b95c464",
                               "name": "Aktive Alarms",
                               "active": true,
                               "tosidebar": true,
                               "console": false,
                               "tostatus": false,
                               "complete": "payload",
                               "targetType": "msg",
                               "statusVal": "",
                               "statusType": "auto",
                               "x": 1020,
                               "y": 560,
                               "wires": []
                           },
                           {
                               "id": "42db4f692eb73166",
                               "type": "inject",
                               "z": "582b1bd74b95c464",
                               "name": "",
                               "props": [
                                   {
                                       "p": "topic",
                                       "vt": "str"
                                   }
                               ],
                               "repeat": "",
                               "crontab": "",
                               "once": false,
                               "onceDelay": 0.1,
                               "topic": "remove-all",
                               "x": 620,
                               "y": 460,
                               "wires": [
                                   [
                                       "ef4c7b9b08788ed9"
                                   ]
                               ]
                           }
                        ]
                        

                        Du kannst im Übrigen auch bei dem Alarm mitgeben, welche payload die Node ausspuken soll, falls Du das für die Steuerung Deiner Lampe brauchst.

                        Also wenn Du mit true Deine Lampe einschaltest, kannst Du Dir zu dem Zeitpunkt einfach nur ein true ausgeben lassen. Erspart Dir eine ChangeNode.

                        {
                            "command": "add",
                            "name": "Alexa",
                            "expression": payload,
                            "expressionType": "dates",
                            "payloadType" : "bool",
                            "payload" : true
                        }
                        

                        Über den Namen kannst Du Dir ggf. auch mit dem topic (aus Alexa Datenpunkten) mehrere Alarms in der cron-plus Node definieren.

                        Über den status bekommst Du zu allen Alarms als Array geliefert:

                        b37cd08f-bcbd-4d91-8646-025460543ec3-image.png

                        Du solltest dann nur alle inaktiven Alarms löschen (vielleicht einmal am Tag), wenn Du nicht nur mit einem arbeiten willst den Du updatest, wie im ursprünglichen Flow:

                        db2c2825-03c9-45ef-9727-592d66823e20-image.png

                        R Offline
                        R Offline
                        Renegade 0
                        schrieb am zuletzt editiert von
                        #11

                        @mickym

                        @mickym sagte in Lichtwecker mit alexa2:

                        Außerdem verknüpft man Zeichenketten in JSONATA nicht mit "+" sondern mit "&".
                        https://docs.jsonata.org/other-operators

                        Ja danke dir. Sorry ich komm halt aus der Java Ecke. JSONata ist noch komplett neu für mich und ich hab auch noch nicht so wirklich ein gutes wiki gefunden.
                        ;)

                        Aber ich bin ja lernwillig.

                        Wow ok, das sind mal ordentlich Informationen. Werd das mal einbauen und alles durchackern. Wenn das läuft ist eh nur noch die Lampensteuerung. Da muss ich noch wegen dem Dimmen schauen, aber der Rest macht mir jetzt keinen Kopf.

                        Danke dir auf jeden Fall schon mal für die ganzen Infos.

                        1 Antwort Letzte Antwort
                        0
                        • mickymM mickym

                          @renegade-0 Hab es Dir gerade geändert. Wenn Du die Ausgabeformatierung aus den beiden Change Nodes des ursprünglichen Flows, einfach wegschmeisst, solltest Du natürlich schauen, was die machen und dann halt vorher implementieren. Wie gesagt hab dir den Code gepostet.

                          Außerdem verknüpft man Zeichenketten in JSONATA nicht mit "+" sondern mit "&". ;)
                          https://docs.jsonata.org/other-operators

                          Im Prinzip kann die cron-plus Node auch mehrere Alarms machen - wenn Du mehrere Alexa Alarms gleichzeitig hast. Du brauchst auch keinen Statischen definieren.

                          Also Du kannst die cron-plus Node durchaus leeren und dann über das topic definieren.

                          2d3e7fe4-7866-4d6f-9f2e-c588e1de5706-image.png

                          Die Alarme, die Du nicht fix in die cronplus eingegeben hast, sind dynamische Alarms - die kannst Du auch ausgeben lassen.

                          087c6480-60d8-4879-9df8-0413ddc499ad-image.png

                          Ich poste Dir nochmal kurz den letzten Teil des Flows:

                          [
                             {
                                 "id": "ef4c7b9b08788ed9",
                                 "type": "cronplus",
                                 "z": "582b1bd74b95c464",
                                 "name": "",
                                 "outputField": "payload",
                                 "timeZone": "",
                                 "persistDynamic": false,
                                 "commandResponseMsgOutput": "output1",
                                 "outputs": 1,
                                 "options": [
                                     {
                                         "name": "Boost",
                                         "topic": "Boost",
                                         "payloadType": "default",
                                         "payload": "",
                                         "expressionType": "dates",
                                         "expression": "2021-11-23 00:00",
                                         "location": "",
                                         "offset": "0",
                                         "solarType": "all",
                                         "solarEvents": "sunrise,sunset"
                                     }
                                 ],
                                 "x": 800,
                                 "y": 560,
                                 "wires": [
                                     [
                                         "29b7eb74d85375e7"
                                     ]
                                 ]
                             },
                             {
                                 "id": "ac453d5e64a6df2b",
                                 "type": "change",
                                 "z": "582b1bd74b95c464",
                                 "name": "update cron plus",
                                 "rules": [
                                     {
                                         "t": "set",
                                         "p": "payload",
                                         "pt": "msg",
                                         "to": "{\t    \"command\": \"add\",\t    \"name\": \"Alexa\",\t    \"expression\": payload,\t    \"expressionType\": \"dates\"\t}",
                                         "tot": "jsonata"
                                     }
                                 ],
                                 "action": "",
                                 "property": "",
                                 "from": "",
                                 "to": "",
                                 "reg": false,
                                 "x": 590,
                                 "y": 560,
                                 "wires": [
                                     [
                                         "ef4c7b9b08788ed9"
                                     ]
                                 ]
                             },
                             {
                                 "id": "fa9b3a45a0bb61a7",
                                 "type": "inject",
                                 "z": "582b1bd74b95c464",
                                 "name": "",
                                 "props": [
                                     {
                                         "p": "topic",
                                         "vt": "str"
                                     }
                                 ],
                                 "repeat": "",
                                 "crontab": "",
                                 "once": false,
                                 "onceDelay": 0.1,
                                 "topic": "status-all",
                                 "x": 620,
                                 "y": 500,
                                 "wires": [
                                     [
                                         "ef4c7b9b08788ed9"
                                     ]
                                 ]
                             },
                             {
                                 "id": "29b7eb74d85375e7",
                                 "type": "debug",
                                 "z": "582b1bd74b95c464",
                                 "name": "Aktive Alarms",
                                 "active": true,
                                 "tosidebar": true,
                                 "console": false,
                                 "tostatus": false,
                                 "complete": "payload",
                                 "targetType": "msg",
                                 "statusVal": "",
                                 "statusType": "auto",
                                 "x": 1020,
                                 "y": 560,
                                 "wires": []
                             },
                             {
                                 "id": "42db4f692eb73166",
                                 "type": "inject",
                                 "z": "582b1bd74b95c464",
                                 "name": "",
                                 "props": [
                                     {
                                         "p": "topic",
                                         "vt": "str"
                                     }
                                 ],
                                 "repeat": "",
                                 "crontab": "",
                                 "once": false,
                                 "onceDelay": 0.1,
                                 "topic": "remove-all",
                                 "x": 620,
                                 "y": 460,
                                 "wires": [
                                     [
                                         "ef4c7b9b08788ed9"
                                     ]
                                 ]
                             }
                          ]
                          

                          Du kannst im Übrigen auch bei dem Alarm mitgeben, welche payload die Node ausspuken soll, falls Du das für die Steuerung Deiner Lampe brauchst.

                          Also wenn Du mit true Deine Lampe einschaltest, kannst Du Dir zu dem Zeitpunkt einfach nur ein true ausgeben lassen. Erspart Dir eine ChangeNode.

                          {
                              "command": "add",
                              "name": "Alexa",
                              "expression": payload,
                              "expressionType": "dates",
                              "payloadType" : "bool",
                              "payload" : true
                          }
                          

                          Über den Namen kannst Du Dir ggf. auch mit dem topic (aus Alexa Datenpunkten) mehrere Alarms in der cron-plus Node definieren.

                          Über den status bekommst Du zu allen Alarms als Array geliefert:

                          b37cd08f-bcbd-4d91-8646-025460543ec3-image.png

                          Du solltest dann nur alle inaktiven Alarms löschen (vielleicht einmal am Tag), wenn Du nicht nur mit einem arbeiten willst den Du updatest, wie im ursprünglichen Flow:

                          db2c2825-03c9-45ef-9727-592d66823e20-image.png

                          R Offline
                          R Offline
                          Renegade 0
                          schrieb am zuletzt editiert von
                          #12

                          @mickym sagte in Lichtwecker mit alexa2:

                          Du kannst im Übrigen auch bei dem Alarm mitgeben, welche payload die Node ausspuken soll, falls Du das für die Steuerung Deiner Lampe brauchst.
                          Also wenn Du mit true Deine Lampe einschaltest, kannst Du Dir zu dem Zeitpunkt einfach nur ein true ausgeben lassen. Erspart Dir eine ChangeNode.

                          {
                              "command": "add",
                              "name": "Alexa",
                              "expression": payload,
                              "expressionType": "dates",
                              "payloadType" : "bool",
                              "payload" : true
                          }
                          
                          

                          Hab ich jetzt eingesetzt und getestet, aber die Ausgabe ist irgendwie ein Object.

                          mickymM 1 Antwort Letzte Antwort
                          0
                          • R Renegade 0

                            @mickym sagte in Lichtwecker mit alexa2:

                            Du kannst im Übrigen auch bei dem Alarm mitgeben, welche payload die Node ausspuken soll, falls Du das für die Steuerung Deiner Lampe brauchst.
                            Also wenn Du mit true Deine Lampe einschaltest, kannst Du Dir zu dem Zeitpunkt einfach nur ein true ausgeben lassen. Erspart Dir eine ChangeNode.

                            {
                                "command": "add",
                                "name": "Alexa",
                                "expression": payload,
                                "expressionType": "dates",
                                "payloadType" : "bool",
                                "payload" : true
                            }
                            
                            

                            Hab ich jetzt eingesetzt und getestet, aber die Ausgabe ist irgendwie ein Object.

                            mickymM Online
                            mickymM Online
                            mickym
                            Most Active
                            schrieb am zuletzt editiert von mickym
                            #13

                            @renegade-0 na nicht bei der Statusabfrage, sondern wenn der Trigger aktiv wurde. Bei mir geht das.

                            a100ec8e-b2cb-4a51-af09-020fc1541e61-image.png

                            Natürlich nur die payload - das außerhalb der payload noch andere Infos enthalten sind, kann sein.

                            Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                            R 1 Antwort Letzte Antwort
                            0
                            • mickymM mickym

                              @renegade-0 na nicht bei der Statusabfrage, sondern wenn der Trigger aktiv wurde. Bei mir geht das.

                              a100ec8e-b2cb-4a51-af09-020fc1541e61-image.png

                              Natürlich nur die payload - das außerhalb der payload noch andere Infos enthalten sind, kann sein.

                              R Offline
                              R Offline
                              Renegade 0
                              schrieb am zuletzt editiert von
                              #14

                              @mickym

                              Ja habs jetzt auch gesehen. Kann man nicht auf 2 Ausgänge umschalten? Einmal command und einmal messages?

                              WEnn ich halt mit einem festen Alarm auf Update arbeite, muss ich nach dem Alarm eine Abfrage über alle Alarme machen, welcher der nächste ist und den setzen. Ich habe ja meist mehrere Alarme laufen. wochentags für die Arbeit, Wochenende mim Hund raus und hier und da nochmal einmalige Alarme. Da ich nicht für jeden Alarm(weil dynamisch) eine Struktur mit Datenpunkten setzen kann, habe ich mir überlegt, einfach ein enable = true reinzusetzen und nur wenn das aktiv ist, werden Alrame mit Lichtwecker gestellt, wenn nicht, werden sie ignoriert.

                              mickymM 1 Antwort Letzte Antwort
                              0
                              • R Renegade 0

                                @mickym

                                Ja habs jetzt auch gesehen. Kann man nicht auf 2 Ausgänge umschalten? Einmal command und einmal messages?

                                WEnn ich halt mit einem festen Alarm auf Update arbeite, muss ich nach dem Alarm eine Abfrage über alle Alarme machen, welcher der nächste ist und den setzen. Ich habe ja meist mehrere Alarme laufen. wochentags für die Arbeit, Wochenende mim Hund raus und hier und da nochmal einmalige Alarme. Da ich nicht für jeden Alarm(weil dynamisch) eine Struktur mit Datenpunkten setzen kann, habe ich mir überlegt, einfach ein enable = true reinzusetzen und nur wenn das aktiv ist, werden Alrame mit Lichtwecker gestellt, wenn nicht, werden sie ignoriert.

                                mickymM Online
                                mickymM Online
                                mickym
                                Most Active
                                schrieb am zuletzt editiert von
                                #15

                                @renegade-0 sagte in Lichtwecker mit alexa2:

                                Kann man nicht auf 2 Ausgänge umschalten? Einmal command und einmal messages?

                                Warum nicht, spricht ja nichts dagegen?

                                Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                R 1 Antwort Letzte Antwort
                                0
                                • mickymM mickym

                                  @renegade-0 sagte in Lichtwecker mit alexa2:

                                  Kann man nicht auf 2 Ausgänge umschalten? Einmal command und einmal messages?

                                  Warum nicht, spricht ja nichts dagegen?

                                  R Offline
                                  R Offline
                                  Renegade 0
                                  schrieb am zuletzt editiert von
                                  #16

                                  @mickym
                                  Das läuft jetzt auch. Nur die Alarme werden immer überschrieben, wenn ich mehrere habe. hab jetzt mal Name und expression auf payload gesetzt. Jetzt sind halt im object topic, payload und expression gleich, aber das stört ja nicht oder?

                                  Hast du noch eine Idee, wie ich das mit dem Dimmen machen kann? Also in der Zeit time_pre soll er von Wert x zu Wert y das Licht hochfahren.

                                  mickymM 1 Antwort Letzte Antwort
                                  0
                                  • R Renegade 0

                                    @mickym
                                    Das läuft jetzt auch. Nur die Alarme werden immer überschrieben, wenn ich mehrere habe. hab jetzt mal Name und expression auf payload gesetzt. Jetzt sind halt im object topic, payload und expression gleich, aber das stört ja nicht oder?

                                    Hast du noch eine Idee, wie ich das mit dem Dimmen machen kann? Also in der Zeit time_pre soll er von Wert x zu Wert y das Licht hochfahren.

                                    mickymM Online
                                    mickymM Online
                                    mickym
                                    Most Active
                                    schrieb am zuletzt editiert von mickym
                                    #17

                                    @renegade-0

                                    Also bei mir tut das:

                                    4770083a-ebb3-44c9-949c-3bf5cb1f7b9d-image.png

                                    Die Alarme werden dann überschrieben, wenn sie den gleichen Namen haben.

                                    Bei dem Dimmen würde ich halt Zielwert des Dimmens festlegen und dann anhand der Vorlaufzeit, den zu veränderten Dimmwert berechnen (wahrscheinlich in Abhängigkeit des aktuellen Wertes) - also ein Delta pro Minute um den Zielwert zu erreichen. Dann mit einer Triggernode halt jede Minute triggern und um das Delta den Dimmwert erhöhen.

                                    Insgesamt also 2 TriggerNodes - die erste um den Zeitraum (pre_time) der 2.Triggernode zu steuern, die als Taktgeber dient. Flow kommt gleich.

                                    Die Rechnerei musst halt dann anschliessend machen:

                                    362daa0a-0a20-41ae-9f14-b497b006bd2d-image.png

                                    [
                                       {
                                           "id": "afa7101ed59775af",
                                           "type": "trigger",
                                           "z": "582b1bd74b95c464",
                                           "name": "steuert Aktivität",
                                           "op1": "true",
                                           "op2": "false",
                                           "op1type": "bool",
                                           "op2type": "bool",
                                           "duration": "1",
                                           "extend": false,
                                           "overrideDelay": true,
                                           "units": "min",
                                           "reset": "",
                                           "bytopic": "all",
                                           "topic": "topic",
                                           "outputs": 1,
                                           "x": 660,
                                           "y": 800,
                                           "wires": [
                                               [
                                                   "4b8d2f6cbcd13bba"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "650e5d29f3a9e598",
                                           "type": "inject",
                                           "z": "582b1bd74b95c464",
                                           "name": "set time_pre",
                                           "props": [
                                               {
                                                   "p": "time_pre",
                                                   "v": "10",
                                                   "vt": "num"
                                               }
                                           ],
                                           "repeat": "",
                                           "crontab": "",
                                           "once": false,
                                           "onceDelay": 0.1,
                                           "topic": "",
                                           "x": 250,
                                           "y": 800,
                                           "wires": [
                                               [
                                                   "fa3939a8c2b34a28"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "4b8d2f6cbcd13bba",
                                           "type": "trigger",
                                           "z": "582b1bd74b95c464",
                                           "name": "Taktgeber",
                                           "op1": "true",
                                           "op2": "0",
                                           "op1type": "bool",
                                           "op2type": "str",
                                           "duration": "-1",
                                           "extend": false,
                                           "overrideDelay": false,
                                           "units": "min",
                                           "reset": "false",
                                           "bytopic": "all",
                                           "topic": "topic",
                                           "outputs": 1,
                                           "x": 840,
                                           "y": 800,
                                           "wires": [
                                               [
                                                   "870a93288a2eeac7"
                                               ]
                                           ]
                                       },
                                       {
                                           "id": "870a93288a2eeac7",
                                           "type": "debug",
                                           "z": "582b1bd74b95c464",
                                           "name": "Trigger",
                                           "active": true,
                                           "tosidebar": true,
                                           "console": false,
                                           "tostatus": false,
                                           "complete": "payload",
                                           "targetType": "msg",
                                           "statusVal": "",
                                           "statusType": "auto",
                                           "x": 1000,
                                           "y": 800,
                                           "wires": []
                                       },
                                       {
                                           "id": "fa3939a8c2b34a28",
                                           "type": "change",
                                           "z": "582b1bd74b95c464",
                                           "name": "",
                                           "rules": [
                                               {
                                                   "t": "set",
                                                   "p": "delay",
                                                   "pt": "msg",
                                                   "to": "time_pre*60*1000",
                                                   "tot": "jsonata"
                                               }
                                           ],
                                           "action": "",
                                           "property": "",
                                           "from": "",
                                           "to": "",
                                           "reg": false,
                                           "x": 460,
                                           "y": 800,
                                           "wires": [
                                               [
                                                   "afa7101ed59775af"
                                               ]
                                           ]
                                       }
                                    ]
                                    

                                    Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                    R 1 Antwort Letzte Antwort
                                    0
                                    • mickymM mickym

                                      @renegade-0

                                      Also bei mir tut das:

                                      4770083a-ebb3-44c9-949c-3bf5cb1f7b9d-image.png

                                      Die Alarme werden dann überschrieben, wenn sie den gleichen Namen haben.

                                      Bei dem Dimmen würde ich halt Zielwert des Dimmens festlegen und dann anhand der Vorlaufzeit, den zu veränderten Dimmwert berechnen (wahrscheinlich in Abhängigkeit des aktuellen Wertes) - also ein Delta pro Minute um den Zielwert zu erreichen. Dann mit einer Triggernode halt jede Minute triggern und um das Delta den Dimmwert erhöhen.

                                      Insgesamt also 2 TriggerNodes - die erste um den Zeitraum (pre_time) der 2.Triggernode zu steuern, die als Taktgeber dient. Flow kommt gleich.

                                      Die Rechnerei musst halt dann anschliessend machen:

                                      362daa0a-0a20-41ae-9f14-b497b006bd2d-image.png

                                      [
                                         {
                                             "id": "afa7101ed59775af",
                                             "type": "trigger",
                                             "z": "582b1bd74b95c464",
                                             "name": "steuert Aktivität",
                                             "op1": "true",
                                             "op2": "false",
                                             "op1type": "bool",
                                             "op2type": "bool",
                                             "duration": "1",
                                             "extend": false,
                                             "overrideDelay": true,
                                             "units": "min",
                                             "reset": "",
                                             "bytopic": "all",
                                             "topic": "topic",
                                             "outputs": 1,
                                             "x": 660,
                                             "y": 800,
                                             "wires": [
                                                 [
                                                     "4b8d2f6cbcd13bba"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "650e5d29f3a9e598",
                                             "type": "inject",
                                             "z": "582b1bd74b95c464",
                                             "name": "set time_pre",
                                             "props": [
                                                 {
                                                     "p": "time_pre",
                                                     "v": "10",
                                                     "vt": "num"
                                                 }
                                             ],
                                             "repeat": "",
                                             "crontab": "",
                                             "once": false,
                                             "onceDelay": 0.1,
                                             "topic": "",
                                             "x": 250,
                                             "y": 800,
                                             "wires": [
                                                 [
                                                     "fa3939a8c2b34a28"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "4b8d2f6cbcd13bba",
                                             "type": "trigger",
                                             "z": "582b1bd74b95c464",
                                             "name": "Taktgeber",
                                             "op1": "true",
                                             "op2": "0",
                                             "op1type": "bool",
                                             "op2type": "str",
                                             "duration": "-1",
                                             "extend": false,
                                             "overrideDelay": false,
                                             "units": "min",
                                             "reset": "false",
                                             "bytopic": "all",
                                             "topic": "topic",
                                             "outputs": 1,
                                             "x": 840,
                                             "y": 800,
                                             "wires": [
                                                 [
                                                     "870a93288a2eeac7"
                                                 ]
                                             ]
                                         },
                                         {
                                             "id": "870a93288a2eeac7",
                                             "type": "debug",
                                             "z": "582b1bd74b95c464",
                                             "name": "Trigger",
                                             "active": true,
                                             "tosidebar": true,
                                             "console": false,
                                             "tostatus": false,
                                             "complete": "payload",
                                             "targetType": "msg",
                                             "statusVal": "",
                                             "statusType": "auto",
                                             "x": 1000,
                                             "y": 800,
                                             "wires": []
                                         },
                                         {
                                             "id": "fa3939a8c2b34a28",
                                             "type": "change",
                                             "z": "582b1bd74b95c464",
                                             "name": "",
                                             "rules": [
                                                 {
                                                     "t": "set",
                                                     "p": "delay",
                                                     "pt": "msg",
                                                     "to": "time_pre*60*1000",
                                                     "tot": "jsonata"
                                                 }
                                             ],
                                             "action": "",
                                             "property": "",
                                             "from": "",
                                             "to": "",
                                             "reg": false,
                                             "x": 460,
                                             "y": 800,
                                             "wires": [
                                                 [
                                                     "afa7101ed59775af"
                                                 ]
                                             ]
                                         }
                                      ]
                                      

                                      R Offline
                                      R Offline
                                      Renegade 0
                                      schrieb am zuletzt editiert von
                                      #18

                                      @mickym

                                      Mahlzeit.

                                      deutlich simpler gelöst, als mein erster Versuch, aber leider das selbe Problem, wie mein Versuch.

                                      Sagen wir time = 10min , x = 20, y = 80. Dann soll er gleichmäßig innerhalb der 10 min von x auf y ansteigen.
                                      Wenn jetzt aber time 30min, x = 0, y = 75. Dann muss er ja entweder eine andere Zeitspanne zwischen den Impulsen oder größere Impulse haben.

                                      Und genau bei dieser Dynamik beiß ich mir in node-Red die Zähne aus. In Java wäre es eine einfache logische Rechnung und der Intervall wäre ausgerechnet. Dann immer +1 und gut.

                                      mickymM 1 Antwort Letzte Antwort
                                      0
                                      • R Renegade 0

                                        @mickym

                                        Mahlzeit.

                                        deutlich simpler gelöst, als mein erster Versuch, aber leider das selbe Problem, wie mein Versuch.

                                        Sagen wir time = 10min , x = 20, y = 80. Dann soll er gleichmäßig innerhalb der 10 min von x auf y ansteigen.
                                        Wenn jetzt aber time 30min, x = 0, y = 75. Dann muss er ja entweder eine andere Zeitspanne zwischen den Impulsen oder größere Impulse haben.

                                        Und genau bei dieser Dynamik beiß ich mir in node-Red die Zähne aus. In Java wäre es eine einfache logische Rechnung und der Intervall wäre ausgerechnet. Dann immer +1 und gut.

                                        mickymM Online
                                        mickymM Online
                                        mickym
                                        Most Active
                                        schrieb am zuletzt editiert von mickym
                                        #19

                                        @renegade-0 Ja aber das hat doch nichts mit NR zu tun. Du musst halt einfach im ersten Fall pro Minute um 6 steigen, um zweiten Fall um 2,5. Wo ist das Problem?

                                        Und wenn Du lieber codieren willst - dann codiere halt alles in einer function Node.

                                        Jeder Flow bzw. jedes Script, das ich hier poste implementiert jeder auf eigene Gefahr. Flows und Scripts können Fehler aufweisen und weder der Seitenbetreiber noch ich persönlich können hierfür haftbar gemacht werden. Das gleiche gilt für Empfehlungen aller Art.

                                        R 1 Antwort Letzte Antwort
                                        0
                                        • mickymM mickym

                                          @renegade-0 Ja aber das hat doch nichts mit NR zu tun. Du musst halt einfach im ersten Fall pro Minute um 6 steigen, um zweiten Fall um 2,5. Wo ist das Problem?

                                          Und wenn Du lieber codieren willst - dann codiere halt alles in einer function Node.

                                          R Offline
                                          R Offline
                                          Renegade 0
                                          schrieb am zuletzt editiert von
                                          #20

                                          @mickym
                                          Ja das ist mir soweit theoretisch klar, aber wie ich das sinnvoll umsetzen kann, da beißt es bei mir noch aus. function node hab ich noch nie wirklich benutzt, aber ich denke, damit geht so etwas am besten. Ich hab noch keine node für Berechnungen direkt gefunden. Oder geht sowas über JSONata sinnvoll?

                                          mickymM 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          842

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe