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.9k

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

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

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.
  • 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 Offline
      mickymM Offline
      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 Offline
          mickymM Offline
          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 Offline
              mickymM Offline
              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
                • R Renegade 0

                  @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 Offline
                  mickymM Offline
                  mickym
                  Most Active
                  schrieb am zuletzt editiert von mickym
                  #21

                  @renegade-0 Über JSONATA und Change Node mach ich fast alles. Überhaupt kein Problem. Damit kann man alles berechnen.

                  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.

                  1 Antwort Letzte Antwort
                  0
                  • R Offline
                    R Offline
                    Renegade 0
                    schrieb am zuletzt editiert von
                    #22

                    @mickym
                    OK, hast du mal eine vernünftige wiki für JSONata?

                    mickymM 1 Antwort Letzte Antwort
                    0
                    • R Renegade 0

                      @mickym
                      OK, hast du mal eine vernünftige wiki für JSONata?

                      mickymM Offline
                      mickymM Offline
                      mickym
                      Most Active
                      schrieb am zuletzt editiert von mickym
                      #23

                      @renegade-0 sagte in Lichtwecker mit alexa2:

                      @mickym
                      OK, hast du mal eine vernünftige wiki für JSONata?

                      nur das; https://docs.jsonata.org/overview

                      Das hast Du sicher schon gefunden. Das try Ding nutze ich aber oft. Aber in Deinem Fall ist nicht viel zu tun.

                      Einfach Eigenschaft der Nachricht *+-/ andere Eigenschaft der Nachricht usw.

                      Also wenn Du Dein 1. Beispiel nimmst und die Eigenschaften: msg.pre_time = 10, msg.start = 20, msg.ende = 80 ist, dann berechnest Du das Delta pro Minute einfach

                      ed402842-616b-4f2c-9e52-79e19aa9ee5e-image.png

                      [
                         {
                             "id": "7ee6cbae1ec58d73",
                             "type": "change",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "rules": [
                                 {
                                     "t": "set",
                                     "p": "payload",
                                     "pt": "msg",
                                     "to": "(ende-start)/pre_time",
                                     "tot": "jsonata"
                                 }
                             ],
                             "action": "",
                             "property": "",
                             "from": "",
                             "to": "",
                             "reg": false,
                             "x": 570,
                             "y": 320,
                             "wires": [
                                 [
                                     "817491f5d7cea76b"
                                 ]
                             ]
                         },
                         {
                             "id": "182d6f4da623b547",
                             "type": "inject",
                             "z": "289f539dcc33814e",
                             "name": "",
                             "props": [
                                 {
                                     "p": "pre_time",
                                     "v": "10",
                                     "vt": "num"
                                 },
                                 {
                                     "p": "start",
                                     "v": "20",
                                     "vt": "num"
                                 },
                                 {
                                     "p": "ende",
                                     "v": "80",
                                     "vt": "num"
                                 }
                             ],
                             "repeat": "",
                             "crontab": "",
                             "once": false,
                             "onceDelay": 0.1,
                             "topic": "",
                             "x": 370,
                             "y": 320,
                             "wires": [
                                 [
                                     "7ee6cbae1ec58d73",
                                     "e553c3b2eee51e91"
                                 ]
                             ]
                         },
                         {
                             "id": "817491f5d7cea76b",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Delta/Min",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "payload",
                             "targetType": "msg",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 760,
                             "y": 320,
                             "wires": []
                         },
                         {
                             "id": "e553c3b2eee51e91",
                             "type": "debug",
                             "z": "289f539dcc33814e",
                             "name": "Eingabe",
                             "active": true,
                             "tosidebar": true,
                             "console": false,
                             "tostatus": false,
                             "complete": "true",
                             "targetType": "full",
                             "statusVal": "",
                             "statusType": "auto",
                             "x": 560,
                             "y": 260,
                             "wires": []
                         }
                      ]
                      

                      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.

                      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

                      797

                      Online

                      32.4k

                      Benutzer

                      81.6k

                      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