Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Alexa ein befehl true oder false

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Alexa ein befehl true oder false

    This topic has been deleted. Only users with topic management privileges can see it.
    • Aphofis
      Aphofis @mickym last edited by Aphofis

      @mickym sagte in Alexa ein befehl true oder false:

      dann wird ein weiterer Text an info geschickt
      info - ist das ein Datenpunkt?

      Also die Ausgabe ist per Alexa durchgehend.
      1 Min verzögerung, damit der Datenpunkt nach ausgabe ende wieder auf false gesetzt wird für eine erneute abfrage.
      Info ist ein Datenpunkt und nennt sich aquarium_info
      Es sind mehrere sensor werte die alexa am stück ausgibt.

      wo sind die identisch !? ist einmal im aquarium oberschrank luft temp und luftfeuchtigkeit und das andere ist temp und luftfeuchtigkeit in der technik unten im schrank.
      Es gibt zwei temp sensoren die im wasser stecken und es werden beide werte ausgegeben damit ich einen kontroll wert habe.
      Mein Datenpunkt sieht so aus. Bzw alle die etwas schalten sollen.

      Unbenannt.png
      alle werte beziehe ich über den sonoff adapter da alle meine sensoren an mehreren esp8266 nodeMCU angeschlossen sind die mit tasmota software laufen.

      mickym 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @Aphofis last edited by mickym

        @aphofis Ok - bei den Datenpunkten meinte ich eher die, die ausgelesen werden und da wäre es hilfreich bis ganz links den gesamten Pfad zu sehen.

        @aphofis sagte in Alexa ein befehl true oder false:

        @mickym sagte in Alexa ein befehl true oder false:

        dann wird ein weiterer Text an info geschickt
        info - ist das ein Datenpunkt?

        Also die Ausgabe ist per Alexa durchgehend.
        1 Min verzögerung, damit der Datenpunkt nach ausgabe ende wieder auf false gesetzt wird für eine erneute abfrage.

        Warum - kann man dann noch dem der Punkt getriggert wurde sofort wieder auf false setzen (auch wenn es keinen Sinn macht) - da muss ich doch keine Minute warten? Oder besteht die Gefahr, dass man es aus Versehen zu häufig triggert, dann würde ich da einen anderen Schutzmeachnismus einbauen.

        Info ist ein Datenpunkt und nennt sich aquarium_info
        Es sind mehrere sensor werte die alexa am stück ausgibt.

        wo sind die identisch !? ist einmal im aquarium oberschrank luft temp und luftfeuchtigkeit und das andere ist temp und luftfeuchtigkeit in der technik unten im schrank.
        Es gibt zwei temp sensoren die im wasser stecken und es werden beide werte ausgegeben damit ich einen kontroll wert habe.

        Nun der Text ist identisch und wie gesagt auch die Sensoren sind sowohl im unteren, wie im oberen Block weitgehenst identisch.

        Ich habe mal den Text mit den Variablen/also Datenpunkten in Klammern geschrieben:

        nach alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak

        "Aquarium Werte,,
        Wasser,, '<sonoff.0.Aqua_Sensoren.DS18B20-2_Temperature>'
        Grad Celsius,, Luft,, '<sonoff.0.Aqua_Sensoren.DHT11-02_Temperature>'
        Grad Celsius,, Luftfeuchtigkeit,, '<sonoff.0.Aqua_Sensoren.DHT11-02_Humidity>'
        Prozent,, Technik Werte,,
        Wasser,,
        ,, Luft,,'<sonoff.0.Aqua_Sensoren.DHT11-05_Temperature>'
        Grad Celsius,,
        Luftfeuchtigkeit,,'<sonoff.0.Aqua_Sensoren.DHT11-05_Humidity>'
        Prozent,, Niveau,,'<sonoff.0.Aqua_Sensoren.SR04_Distance>'
        Zentimeter,,"
        

        nach Aqua_Control.0.VIS.Meldungen.Info

        "Aquarium Werte,,
        Wasser,, '<sonoff.0.Aqua_Sensoren.DS18B20_Temperature>'
        Grad Celsius,, Luft,, '<sonoff.0.Aqua_Sensoren.DHT11-02_Temperature>'
        Grad Celsius,, Luftfeuchtigkeit,, '<sonoff.0.Aqua_Sensoren.DHT11-02_Humidity>'
        Prozent,, Technik Werte,,
        Wasser,,
        ,, Luft,,'<sonoff.0.Aqua_Sensoren.DHT11-05_Temperature>'
        Grad Celsius,,
        Luftfeuchtigkeit,,'<sonoff.0.Aqua_Sensoren.DHT11-05_Humidity>'
        Prozent,, Niveau,,'<sonoff.0.Aqua_Sensoren.SR04_Distance>'
        Zentimeter,,"
        

        Den Einzigen Unterschied den ich erkennen kann ist, dass im oberen Teil also zu alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak

        die Wassertemperatur von sonoff.0.Aqua_Sensoren.DS18B20-2_Temperature kommt und unten, also zu Aqua_Control.0.VIS.Meldungen.Info nur von sonoff.0.Aqua_Sensoren.DS18B20_Temperature.

        Ich frage deshalb - weil ich das halt umständlich finde nochmal alles bis auf einen Unterschied auszulesen, anstelle die 5 Parameter EINMAL auszulesen und nur den einen der unterschiedlich ist je einmal auszulesen.

        Na egal - ich mach mal los mit dem was ich sehe und zwar einfach mit entprellen egal was in der Auquarium_Info Node steht. Das heißt es wird einfach angetriggert, wenn man quasi einen Button drückt.

        Aphofis 1 Reply Last reply Reply Quote 0
        • mickym
          mickym Most Active @Aphofis last edited by mickym

          @aphofis So Dein Flow ist fertig. 😉

          Ich hab das etwas abgeändert. Das heißt in Aquarium_Info muss nun nicht mehr true oder false stehen, sondern es ist egal. Der Flow fängt zu laufen an, wenn Du den Datenpunkt aktualisierst. Mit was ist egal - somit kann man diesen Datenpunkt als Button definieren.

          Damit aber keine Kollisionen zu unbeabsichtigten mehrfach Starts kommt, startet der Flow nur, wenn sich der Datenpunkt in Aquarium_Info 1 Minute lang nicht geändert bzw. aktualisiert wurde.

          So wie ich das verstanden habe schickst Du einmal Text an eine Alexa Node - die wohl spricht und einmal an vis zur Info.

          Beide sind meines Erachtens in dem Flow identisch, bis auf die Wassertemperatur. Deshalb werden die identischen Parameter zuerst ausgelesen und nur die unterschiedlichen Wassertemperaturen für Alexa und VIS geschickt. Logisch erscheint mir das nicht, aber so interpretiere ich das Blockly.

          Zum Auslesen der Datenpunkte habe ich diese erstmal in einem String zusammengefasst damit man nicht viele Nodes machen muss um sich die Werte zu holen, sondern es werden die verschiedenen Werte anhand des msg.topic geholt.

          In dem ersten Node "Prepare Topic Array" befindet sich also ein String mit den Namen der Sensoren:

          DHT11-02_Temperature,DHT11-05_Temperature,DHT11-02_Humidity,DHT11-05_Humidity,SR04_Distance
          

          Dann wird ein Array aus msg.topics gemacht und daraus mit Einzelnachrichten die Werte geholt. (in IoB read value).

          Da es 5 Werte sind, werden diese in der JOIN Node gesammelt und dann als 1 Objekt weiterbehandelt. Dann werden die unterschiedlichen Wassertemperaturen für Alexa und Vis geholt.

          In der Vorlage werden dann die verschiedenen Objekte in den gewünschten Text eingefügt und dann an den Alexa Datenpunkt bzw. VIS geschickt.

          Der Text sieht in meinen Test so aus - das musst halt ggf. in der Vorlage anpassen.

          Aquarium Werte,,Wasser,,21 Grad Celsius,,Luft,,22 Grad Celsius,,Luftfeuchtigkeit,,42 Prozent,,Technik Werte,,Wasser,,Luft,,25 Grad Celsius,,Luftfeuchtigkeit,,45 Prozent,,Niveau,,3.2 Zentimeter,,
          

          2c692d59-93b5-4690-80e1-255a2b378e08-image.png

          Und hier der Flow - viel Spaß damit. 😉

          [
             {
                 "id": "5f2cfa60.de6b54",
                 "type": "ioBroker in",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "topic": "Aqua_Control.0.System.Aquarium_Info",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "false",
                 "x": 230,
                 "y": 3140,
                 "wires": [
                     [
                         "e6181a7.3d6a0e8"
                     ]
                 ]
             },
             {
                 "id": "ce3c0fd2.bc9f5",
                 "type": "ioBroker out",
                 "z": "dce8fa20.2e93c8",
                 "name": "Zur Alexa",
                 "topic": "alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak",
                 "ack": "false",
                 "autoCreate": "false",
                 "stateName": "",
                 "role": "",
                 "payloadType": "",
                 "readonly": "",
                 "stateUnit": "",
                 "stateMin": "",
                 "stateMax": "",
                 "x": 2540,
                 "y": 3080,
                 "wires": []
             },
             {
                 "id": "b0c2e60d.a5b008",
                 "type": "ioBroker out",
                 "z": "dce8fa20.2e93c8",
                 "name": "Zu VIS",
                 "topic": "Aqua_Control.0.VIS.Meldungen.Info",
                 "ack": "false",
                 "autoCreate": "false",
                 "stateName": "",
                 "role": "",
                 "payloadType": "",
                 "readonly": "",
                 "stateUnit": "",
                 "stateMin": "",
                 "stateMax": "",
                 "x": 2530,
                 "y": 3200,
                 "wires": []
             },
             {
                 "id": "e6181a7.3d6a0e8",
                 "type": "trigger",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "op1": "true",
                 "op2": "",
                 "op1type": "bool",
                 "op2type": "nul",
                 "duration": "1",
                 "extend": true,
                 "overrideDelay": false,
                 "units": "min",
                 "reset": "",
                 "bytopic": "all",
                 "topic": "topic",
                 "outputs": 1,
                 "x": 480,
                 "y": 3140,
                 "wires": [
                     [
                         "e7a45ce4.029ec"
                     ]
                 ]
             },
             {
                 "id": "e7a45ce4.029ec",
                 "type": "change",
                 "z": "dce8fa20.2e93c8",
                 "name": "Prepare topic Array",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "DHT11-02_Temperature,DHT11-05_Temperature,DHT11-02_Humidity,DHT11-05_Humidity,SR04_Distance",
                         "tot": "str"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "$split(payload,',')\t",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 690,
                 "y": 3140,
                 "wires": [
                     [
                         "735d943e.a0c9cc"
                     ]
                 ]
             },
             {
                 "id": "735d943e.a0c9cc",
                 "type": "split",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "splt": "\\n",
                 "spltType": "str",
                 "arraySplt": 1,
                 "arraySpltType": "len",
                 "stream": false,
                 "addname": "",
                 "x": 880,
                 "y": 3140,
                 "wires": [
                     [
                         "35a44452.38f97c"
                     ]
                 ]
             },
             {
                 "id": "35a44452.38f97c",
                 "type": "change",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "topic",
                         "pt": "msg",
                         "to": "'sonoff.0.Aqua_Sensoren.' & payload",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1060,
                 "y": 3140,
                 "wires": [
                     [
                         "887bf3a3.6680e"
                     ]
                 ]
             },
             {
                 "id": "887bf3a3.6680e",
                 "type": "ioBroker get",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "topic": "",
                 "attrname": "payload",
                 "payloadType": "value",
                 "x": 1260,
                 "y": 3140,
                 "wires": [
                     [
                         "6569a3b5.c6ecbc"
                     ]
                 ]
             },
             {
                 "id": "5689b79e.b53e68",
                 "type": "join",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "mode": "custom",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": false,
                 "timeout": "",
                 "count": "5",
                 "reduceRight": false,
                 "reduceExp": "",
                 "reduceInit": "",
                 "reduceInitType": "num",
                 "reduceFixup": "",
                 "x": 1730,
                 "y": 3140,
                 "wires": [
                     [
                         "ee56b28d.a96d8",
                         "e604e2d.f58642"
                     ]
                 ]
             },
             {
                 "id": "6569a3b5.c6ecbc",
                 "type": "change",
                 "z": "dce8fa20.2e93c8",
                 "name": "parts löschen und topic kürzen",
                 "rules": [
                     {
                         "t": "delete",
                         "p": "parts",
                         "pt": "msg"
                     },
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": ".*Aqua_Sensoren\\.(.*)",
                         "fromt": "re",
                         "to": "$1",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1510,
                 "y": 3140,
                 "wires": [
                     [
                         "5689b79e.b53e68"
                     ]
                 ],
                 "info": "# msg.parts löschen und msg.topic kürzen\n\nDie msg.parts müssen gelöscht werden, da durch das Holen mit den get nodes das automatische Zusammenfügen in der JOIN Node nicht mehr funktioniert. \n\nDis msg.topic werden gekürzt, damit das etwas leichter zu handhaben ist. "
             },
             {
                 "id": "ee56b28d.a96d8",
                 "type": "ioBroker get",
                 "z": "dce8fa20.2e93c8",
                 "name": "DS18B20-2_Temperature",
                 "topic": "sonoff.0.Aqua_Sensoren.DS18B20-2_Temperature",
                 "attrname": "water",
                 "payloadType": "value",
                 "x": 1970,
                 "y": 3080,
                 "wires": [
                     [
                         "52623b35.bb3a14"
                     ]
                 ]
             },
             {
                 "id": "e604e2d.f58642",
                 "type": "ioBroker get",
                 "z": "dce8fa20.2e93c8",
                 "name": "DS18B20_Temperature",
                 "topic": "sonoff.0.Aqua_Sensoren.DS18B20_Temperature",
                 "attrname": "water",
                 "payloadType": "value",
                 "x": 1970,
                 "y": 3200,
                 "wires": [
                     [
                         "7729ff82.859c2"
                     ]
                 ]
             },
             {
                 "id": "7bf4f9b1.e09538",
                 "type": "template",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "field": "payload",
                 "fieldType": "msg",
                 "format": "handlebars",
                 "syntax": "mustache",
                 "template": "Aquarium Werte,,Wasser,,{{water}} Grad Celsius,,Luft,,{{payload.DHT11-02_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-02_Humidity}} Prozent,,Technik Werte,,Wasser,,Luft,,{{payload.DHT11-05_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-05_Humidity}} Prozent,,Niveau,,{{payload.SR04_Distance}} Zentimeter,,",
                 "output": "str",
                 "x": 2360,
                 "y": 3080,
                 "wires": [
                     [
                         "ce3c0fd2.bc9f5"
                     ]
                 ]
             },
             {
                 "id": "e431e400.f91668",
                 "type": "template",
                 "z": "dce8fa20.2e93c8",
                 "name": "",
                 "field": "payload",
                 "fieldType": "msg",
                 "format": "handlebars",
                 "syntax": "mustache",
                 "template": "Aquarium Werte,,Wasser,,{{water}} Grad Celsius,,Luft,,{{payload.DHT11-02_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-02_Humidity}} Prozent,,Technik Werte,,Wasser,,Luft,,{{payload.DHT11-05_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-05_Humidity}} Prozent,,Niveau,,{{payload.SR04_Distance}} Zentimeter,,",
                 "output": "str",
                 "x": 2360,
                 "y": 3200,
                 "wires": [
                     [
                         "b0c2e60d.a5b008"
                     ]
                 ]
             },
             {
                 "id": "52623b35.bb3a14",
                 "type": "change",
                 "z": "dce8fa20.2e93c8",
                 "name": "cm runden",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload.SR04_Distance",
                         "pt": "msg",
                         "to": "$round(payload.SR04_Distance, 1)\t",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 2190,
                 "y": 3080,
                 "wires": [
                     [
                         "7bf4f9b1.e09538"
                     ]
                 ]
             },
             {
                 "id": "7729ff82.859c2",
                 "type": "change",
                 "z": "dce8fa20.2e93c8",
                 "name": "cm runden",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload.SR04_Distance",
                         "pt": "msg",
                         "to": "$round(payload.SR04_Distance, 1)\t",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 2190,
                 "y": 3200,
                 "wires": [
                     [
                         "e431e400.f91668"
                     ]
                 ]
             }
          ]
          

          Edit - kaum schreibt man was - schon fällt einem eine Verbesserung ein.
          Also es werden nun alle benötigten Sensorwerte über das Array eingelesen und dann nur in den Textvorlagen unterschiedlich verwendet:

          ffb8930c-212d-42b9-b6d4-fc783ec1f9f1-image.png

          Der Flow schaut nun so aus - also einfacher:

          d19c0f41-9894-4e35-b427-3cff3eddf67a-image.png

          Hier wieder zum Importieren:

          [
             {
                 "id": "1668a72a.b395f9",
                 "type": "ioBroker in",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "topic": "Aqua_Control.0.System.Aquarium_Info",
                 "payloadType": "value",
                 "onlyack": "",
                 "func": "all",
                 "gap": "",
                 "fireOnStart": "false",
                 "x": 190,
                 "y": 200,
                 "wires": [
                     [
                         "bd2e320e.621fa"
                     ]
                 ]
             },
             {
                 "id": "bbf2e8af.f99348",
                 "type": "ioBroker out",
                 "z": "a167657d.68afc8",
                 "name": "Zur Alexa",
                 "topic": "alexa2.0.Echo-Devices.G090LV0371040175.Commands.speak",
                 "ack": "false",
                 "autoCreate": "false",
                 "stateName": "",
                 "role": "",
                 "payloadType": "",
                 "readonly": "",
                 "stateUnit": "",
                 "stateMin": "",
                 "stateMax": "",
                 "x": 2220,
                 "y": 160,
                 "wires": []
             },
             {
                 "id": "1d32159.909d4ea",
                 "type": "ioBroker out",
                 "z": "a167657d.68afc8",
                 "name": "Zu VIS",
                 "topic": "Aqua_Control.0.VIS.Meldungen.Info",
                 "ack": "false",
                 "autoCreate": "false",
                 "stateName": "",
                 "role": "",
                 "payloadType": "",
                 "readonly": "",
                 "stateUnit": "",
                 "stateMin": "",
                 "stateMax": "",
                 "x": 2210,
                 "y": 240,
                 "wires": []
             },
             {
                 "id": "bd2e320e.621fa",
                 "type": "trigger",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "op1": "true",
                 "op2": "",
                 "op1type": "bool",
                 "op2type": "nul",
                 "duration": "1",
                 "extend": true,
                 "overrideDelay": false,
                 "units": "min",
                 "reset": "",
                 "bytopic": "all",
                 "topic": "topic",
                 "outputs": 1,
                 "x": 440,
                 "y": 200,
                 "wires": [
                     [
                         "343c8622.5d3e9a"
                     ]
                 ]
             },
             {
                 "id": "343c8622.5d3e9a",
                 "type": "change",
                 "z": "a167657d.68afc8",
                 "name": "Prepare topic Array",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "DHT11-02_Temperature,DHT11-05_Temperature,DHT11-02_Humidity,DHT11-05_Humidity,SR04_Distance,DS18B20_Temperature,DS18B20-2_Temperature",
                         "tot": "str"
                     },
                     {
                         "t": "set",
                         "p": "payload",
                         "pt": "msg",
                         "to": "$split(payload,',')\t",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 650,
                 "y": 200,
                 "wires": [
                     [
                         "4996aa5b.1a3804"
                     ]
                 ]
             },
             {
                 "id": "4996aa5b.1a3804",
                 "type": "split",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "splt": "\\n",
                 "spltType": "str",
                 "arraySplt": 1,
                 "arraySpltType": "len",
                 "stream": false,
                 "addname": "",
                 "x": 840,
                 "y": 200,
                 "wires": [
                     [
                         "7054b21c.8cec8c"
                     ]
                 ]
             },
             {
                 "id": "7054b21c.8cec8c",
                 "type": "change",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "rules": [
                     {
                         "t": "set",
                         "p": "topic",
                         "pt": "msg",
                         "to": "'sonoff.0.Aqua_Sensoren.' & payload",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1020,
                 "y": 200,
                 "wires": [
                     [
                         "2b083a26.6974f6"
                     ]
                 ]
             },
             {
                 "id": "2b083a26.6974f6",
                 "type": "ioBroker get",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "topic": "",
                 "attrname": "payload",
                 "payloadType": "value",
                 "x": 1220,
                 "y": 200,
                 "wires": [
                     [
                         "7bb08a4a.065a94"
                     ]
                 ]
             },
             {
                 "id": "74799a5e.d605e4",
                 "type": "join",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "mode": "custom",
                 "build": "object",
                 "property": "payload",
                 "propertyType": "msg",
                 "key": "topic",
                 "joiner": "\\n",
                 "joinerType": "str",
                 "accumulate": false,
                 "timeout": "",
                 "count": "7",
                 "reduceRight": false,
                 "reduceExp": "",
                 "reduceInit": "",
                 "reduceInitType": "num",
                 "reduceFixup": "",
                 "x": 1690,
                 "y": 200,
                 "wires": [
                     [
                         "64b3b101.6e759"
                     ]
                 ]
             },
             {
                 "id": "7bb08a4a.065a94",
                 "type": "change",
                 "z": "a167657d.68afc8",
                 "name": "parts löschen und topic kürzen",
                 "rules": [
                     {
                         "t": "delete",
                         "p": "parts",
                         "pt": "msg"
                     },
                     {
                         "t": "change",
                         "p": "topic",
                         "pt": "msg",
                         "from": ".*Aqua_Sensoren\\.(.*)",
                         "fromt": "re",
                         "to": "$1",
                         "tot": "str"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1470,
                 "y": 200,
                 "wires": [
                     [
                         "74799a5e.d605e4"
                     ]
                 ],
                 "info": "# msg.parts löschen und msg.topic kürzen\n\nDie msg.parts müssen gelöscht werden, da durch das Holen mit den get nodes das automatische Zusammenfügen in der JOIN Node nicht mehr funktioniert. \n\nDis msg.topic werden gekürzt, damit das etwas leichter zu handhaben ist. "
             },
             {
                 "id": "c7dddee8.9f403",
                 "type": "template",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "field": "payload",
                 "fieldType": "msg",
                 "format": "handlebars",
                 "syntax": "mustache",
                 "template": "Aquarium Werte,,Wasser,,{{payload.DS18B20-2_Temperature}} Grad Celsius,,Luft,,{{payload.DHT11-02_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-02_Humidity}} Prozent,,Technik Werte,,Wasser,,Luft,,{{payload.DHT11-05_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-05_Humidity}} Prozent,,Niveau,,{{payload.SR04_Distance}} Zentimeter,,",
                 "output": "str",
                 "x": 2040,
                 "y": 160,
                 "wires": [
                     [
                         "bbf2e8af.f99348"
                     ]
                 ]
             },
             {
                 "id": "64b3b101.6e759",
                 "type": "change",
                 "z": "a167657d.68afc8",
                 "name": "cm runden",
                 "rules": [
                     {
                         "t": "set",
                         "p": "payload.SR04_Distance",
                         "pt": "msg",
                         "to": "$round(payload.SR04_Distance, 1)\t",
                         "tot": "jsonata"
                     }
                 ],
                 "action": "",
                 "property": "",
                 "from": "",
                 "to": "",
                 "reg": false,
                 "x": 1850,
                 "y": 200,
                 "wires": [
                     [
                         "c7dddee8.9f403",
                         "2307892e.987d86"
                     ]
                 ]
             },
             {
                 "id": "2307892e.987d86",
                 "type": "template",
                 "z": "a167657d.68afc8",
                 "name": "",
                 "field": "payload",
                 "fieldType": "msg",
                 "format": "handlebars",
                 "syntax": "mustache",
                 "template": "Aquarium Werte,,Wasser,,{{payload.DS18B20_Temperature}} Grad Celsius,,Luft,,{{payload.DHT11-02_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-02_Humidity}} Prozent,,Technik Werte,,Wasser,,Luft,,{{payload.DHT11-05_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-05_Humidity}} Prozent,,Niveau,,{{payload.SR04_Distance}} Zentimeter,,",
                 "output": "str",
                 "x": 2040,
                 "y": 240,
                 "wires": [
                     [
                         "1d32159.909d4ea"
                     ]
                 ]
             }
          ]
          

          Ach übrigens wenn diese Aquarium_Info Node nur dem Zweck gedient haben sollte, dass diese Info ausgegeben wird, dann kannst den Datenpunkt auch löschen und die Alexnode direkt vorne anflanschen und diesen Flow triggern..

          1 Reply Last reply Reply Quote 0
          • Aphofis
            Aphofis @mickym last edited by

            @mickym sagte in Alexa ein befehl true oder false:

            die Wassertemperatur von sonoff.0.Aqua_Sensoren.DS18B20-2_Temperature kommt und unten, also zu Aqua_Control.0.VIS.Meldungen.Info nur von sonoff.0.Aqua_Sensoren.DS18B20_Temperature.

            Achso Sorry war schon spät heute nacht.
            Ja das eine ist der Wert den Alexa ausgibt das andere wird an die VIS grafik als anzeige gesendet.

            So wie ich das verstanden habe schickst Du einmal Text an eine Alexa Node - die wohl spricht und einmal an vis zur Info.
            Ja so ist es.
            

            ach ja die ",," im Text ist damit Alexa einen Absatz beim sprechen macht und nicht den ganzen Text durch rasselt.
            alexa.local.node muss dann der buttton sein weil die den datenpunkt triggert wenn man halt sagt alexa, aquarium info. In Alexa habe ich eine routine die mit dem verknüpften gerät verbunden ist und diesen bei sprach befehl dann auslöst.

            Ach übrigens wenn diese Aquarium_Info Node nur dem Zweck gedient haben sollte, dass diese Info ausgegeben wird, dann kannst den Datenpunkt auch löschen und die Alexnode direkt vorne anflanschen und diesen Flow triggern..
            

            Das ist echt Mega!!! ja ich werde es testen und berichten und auch ob ich den flow verstehe.
            Vielen vielen dank schon mal

            1 Reply Last reply Reply Quote 0
            • Aphofis
              Aphofis @mickym last edited by

              @mickym
              Ich verstehe das nicht, Alexa findet das Gerät nicht.
              Ich habe das jetzt so:

              [
                  {
                      "id": "6dac84f0.fc2eec",
                      "type": "tab",
                      "label": "Aquarium Info",
                      "disabled": false,
                      "info": ""
                  },
                  {
                      "id": "ccc7fafa.991e28",
                      "type": "alexa-local",
                      "z": "6dac84f0.fc2eec",
                      "devicename": "aquarium-info",
                      "inputtrigger": false,
                      "x": 160,
                      "y": 360,
                      "wires": [
                          [
                              "bd2e320e.621fa"
                          ]
                      ]
                  },
                  {
                      "id": "1668a72a.b395f9",
                      "type": "ioBroker in",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "topic": "Aqua_Control.0.System.Aquarium_Info",
                      "payloadType": "value",
                      "onlyack": "",
                      "func": "all",
                      "gap": "",
                      "fireOnStart": "false",
                      "x": 250,
                      "y": 300,
                      "wires": [
                          [
                              "bd2e320e.621fa"
                          ]
                      ]
                  },
                  {
                      "id": "bbf2e8af.f99348",
                      "type": "ioBroker out",
                      "z": "6dac84f0.fc2eec",
                      "name": "Zur Alexa",
                      "topic": "alexa2.0.Echo-Devices.G0913L06031202PA.Commands.speak",
                      "ack": "false",
                      "autoCreate": "false",
                      "stateName": "",
                      "role": "",
                      "payloadType": "",
                      "readonly": "",
                      "stateUnit": "",
                      "stateMin": "",
                      "stateMax": "",
                      "x": 1240,
                      "y": 540,
                      "wires": []
                  },
                  {
                      "id": "1d32159.909d4ea",
                      "type": "ioBroker out",
                      "z": "6dac84f0.fc2eec",
                      "name": "Zu VIS",
                      "topic": "Aqua_Control.0.VIS.Meldungen.Info",
                      "ack": "false",
                      "autoCreate": "false",
                      "stateName": "",
                      "role": "",
                      "payloadType": "",
                      "readonly": "",
                      "stateUnit": "",
                      "stateMin": "",
                      "stateMax": "",
                      "x": 1230,
                      "y": 660,
                      "wires": []
                  },
                  {
                      "id": "bd2e320e.621fa",
                      "type": "trigger",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "op1": "true",
                      "op2": "",
                      "op1type": "bool",
                      "op2type": "nul",
                      "duration": "1",
                      "extend": true,
                      "overrideDelay": false,
                      "units": "min",
                      "reset": "",
                      "bytopic": "all",
                      "topic": "topic",
                      "outputs": 1,
                      "x": 220,
                      "y": 520,
                      "wires": [
                          [
                              "343c8622.5d3e9a"
                          ]
                      ]
                  },
                  {
                      "id": "343c8622.5d3e9a",
                      "type": "change",
                      "z": "6dac84f0.fc2eec",
                      "name": "Prepare topic Array",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "DHT11-02_Temperature,DHT11-05_Temperature,DHT11-02_Humidity,DHT11-05_Humidity,SR04_Distance,DS18B20_Temperature,DS18B20-2_Temperature",
                              "tot": "str"
                          },
                          {
                              "t": "set",
                              "p": "payload",
                              "pt": "msg",
                              "to": "$split(payload,',')\t",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 230,
                      "y": 580,
                      "wires": [
                          [
                              "4996aa5b.1a3804"
                          ]
                      ]
                  },
                  {
                      "id": "4996aa5b.1a3804",
                      "type": "split",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "splt": "\\n",
                      "spltType": "str",
                      "arraySplt": 1,
                      "arraySpltType": "len",
                      "stream": false,
                      "addname": "",
                      "x": 200,
                      "y": 640,
                      "wires": [
                          [
                              "7054b21c.8cec8c"
                          ]
                      ]
                  },
                  {
                      "id": "7054b21c.8cec8c",
                      "type": "change",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "rules": [
                          {
                              "t": "set",
                              "p": "topic",
                              "pt": "msg",
                              "to": "'sonoff.0.Aqua_Sensoren.' & payload",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 220,
                      "y": 700,
                      "wires": [
                          [
                              "2b083a26.6974f6"
                          ]
                      ]
                  },
                  {
                      "id": "2b083a26.6974f6",
                      "type": "ioBroker get",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "topic": "",
                      "attrname": "payload",
                      "payloadType": "value",
                      "x": 220,
                      "y": 760,
                      "wires": [
                          [
                              "7bb08a4a.065a94"
                          ]
                      ]
                  },
                  {
                      "id": "74799a5e.d605e4",
                      "type": "join",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "mode": "custom",
                      "build": "object",
                      "property": "payload",
                      "propertyType": "msg",
                      "key": "topic",
                      "joiner": "\\n",
                      "joinerType": "str",
                      "accumulate": false,
                      "timeout": "",
                      "count": "7",
                      "reduceRight": false,
                      "reduceExp": "",
                      "reduceInit": "",
                      "reduceInitType": "num",
                      "reduceFixup": "",
                      "x": 710,
                      "y": 520,
                      "wires": [
                          [
                              "64b3b101.6e759"
                          ]
                      ]
                  },
                  {
                      "id": "7bb08a4a.065a94",
                      "type": "change",
                      "z": "6dac84f0.fc2eec",
                      "name": "parts löschen und topic kürzen",
                      "rules": [
                          {
                              "t": "delete",
                              "p": "parts",
                              "pt": "msg"
                          },
                          {
                              "t": "change",
                              "p": "topic",
                              "pt": "msg",
                              "from": ".*Aqua_Sensoren\\.(.*)",
                              "fromt": "re",
                              "to": "$1",
                              "tot": "str"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 730,
                      "y": 440,
                      "wires": [
                          [
                              "74799a5e.d605e4"
                          ]
                      ],
                      "info": "# msg.parts löschen und msg.topic kürzen\n\nDie msg.parts müssen gelöscht werden, da durch das Holen mit den get nodes das automatische Zusammenfügen in der JOIN Node nicht mehr funktioniert. \n\nDis msg.topic werden gekürzt, damit das etwas leichter zu handhaben ist. "
                  },
                  {
                      "id": "c7dddee8.9f403",
                      "type": "template",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "field": "payload",
                      "fieldType": "msg",
                      "format": "handlebars",
                      "syntax": "mustache",
                      "template": "Aquarium Werte,,Wasser,,{{payload.DS18B20-2_Temperature}} Grad Celsius,,Luft,,{{payload.DHT11-02_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-02_Humidity}} Prozent,,Technik Werte,,Wasser,,Luft,,{{payload.DHT11-05_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-05_Humidity}} Prozent,,Niveau,,{{payload.SR04_Distance}} Zentimeter,,",
                      "output": "str",
                      "x": 1020,
                      "y": 540,
                      "wires": [
                          [
                              "bbf2e8af.f99348"
                          ]
                      ]
                  },
                  {
                      "id": "64b3b101.6e759",
                      "type": "change",
                      "z": "6dac84f0.fc2eec",
                      "name": "cm runden",
                      "rules": [
                          {
                              "t": "set",
                              "p": "payload.SR04_Distance",
                              "pt": "msg",
                              "to": "$round(payload.SR04_Distance, 1)\t",
                              "tot": "jsonata"
                          }
                      ],
                      "action": "",
                      "property": "",
                      "from": "",
                      "to": "",
                      "reg": false,
                      "x": 730,
                      "y": 600,
                      "wires": [
                          [
                              "c7dddee8.9f403",
                              "2307892e.987d86"
                          ]
                      ]
                  },
                  {
                      "id": "2307892e.987d86",
                      "type": "template",
                      "z": "6dac84f0.fc2eec",
                      "name": "",
                      "field": "payload",
                      "fieldType": "msg",
                      "format": "handlebars",
                      "syntax": "mustache",
                      "template": "Aquarium Werte,,Wasser,,{{payload.DS18B20_Temperature}} Grad Celsius,,Luft,,{{payload.DHT11-02_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-02_Humidity}} Prozent,,Technik Werte,,Wasser,,Luft,,{{payload.DHT11-05_Temperature}} Grad Celsius,,Luftfeuchtigkeit,,{{payload.DHT11-05_Humidity}} Prozent,,Niveau,,{{payload.SR04_Distance}} Zentimeter,,",
                      "output": "str",
                      "x": 1020,
                      "y": 660,
                      "wires": [
                          [
                              "1d32159.909d4ea"
                          ]
                      ]
                  }
              ]
              
              Aphofis 1 Reply Last reply Reply Quote 0
              • Aphofis
                Aphofis @Aphofis last edited by Aphofis

                IoB read value gibt nur hier intern im flow den temp wert aus wenn ich den datenpunkt aquarium_info manuell auf true setze ansonsten passiert nix.

                Unbenannt.png
                in der log meldet node-red dieses:

                node-red.0	2021-04-10 18:44:50.453	error	(24953) 10 Apr 18:44:50 - [error] [change:cm runden] Ungültiger JSONata Ausdruck: Argument 1 of function "round" does not match function signature
                node-red.0	2021-04-10 18:44:41.094	info	(26545) Automatic objects creation is not enabled. You can enable it in the node configuration
                
                mickym 1 Reply Last reply Reply Quote 0
                • mickym
                  mickym Most Active @Aphofis last edited by

                  @aphofis Als erstes musst Du mal die unselige Option ausmachen . in der Adapterkonfig, dass alles in Strings umgewandelt wird. Mach bitte den Haken raus. Ok Du hast jetzt den Auslöser auf 5 s gesetzt. Um den Flow zu testen ist es besser eine Inject Node an den Prepare topic Array zu hängen und dann manuell zu triggern.

                  Um den Flow zu debuggen hängst Du eine Debug Node an die nächste Node und postest das Debug Fenstern - dann hangelt mich so weiter.

                  Aphofis mickym 2 Replies Last reply Reply Quote 0
                  • Aphofis
                    Aphofis @mickym last edited by

                    @mickym
                    ist jetzt ausgeschaltet
                    debug teste ich

                    1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @mickym last edited by

                      Automatic objects creation is not enabled. You can enable it in the node configuration
                      
                      

                      Diese Fehlermeldung besagt, dass der Pfad in irgendeiner iobroker In Node nicht stimmt. Das hat aber nichts mit diesem Flow zu tun - da er ja da unten true sagt.

                      Aphofis 1 Reply Last reply Reply Quote 0
                      • Aphofis
                        Aphofis @mickym last edited by Aphofis

                        @mickym
                        Yeah Yeah Yeah Alexa macht die komplette ausgabe.
                        also erstmal nur mit dem Datenpunkt. jetzt muss alexa nur noch das Gerät finden.
                        Unbenannt.png

                        mickym 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active @Aphofis last edited by mickym

                          @aphofis Na dann hab ich doch nicht so schlecht gearbeitet. 😉 Die Fehlermeldungen oben drüber sind noch alt - bevor Du die Adaperkonfig umgestellt hast. 18:44 - 18:51-

                          18:59 hat ja funktioniert.

                          Aphofis 2 Replies Last reply Reply Quote 0
                          • Aphofis
                            Aphofis @mickym last edited by

                            @mickym
                            Sehr coole arbeit! aber ob ich das nachvollziehen kann mit den payloads muss ich mich erstmal durch wurschteln

                            mickym 1 Reply Last reply Reply Quote 0
                            • mickym
                              mickym Most Active @Aphofis last edited by

                              @aphofis Na Du wolltest das doch lernen - nun musst halt ggf. Fragen stellen bis der Arzt kommt. 😉

                              1 Reply Last reply Reply Quote 0
                              • Aphofis
                                Aphofis @mickym last edited by

                                @mickym
                                ich weiß ja nicht ob das relevant ist. alexa kann nur an und aus schalten nicht true und false muss diese funktion vllt wieder in den flow mit rein das aus true ON gemacht wird und aus false dann OFF

                                mickym 1 Reply Last reply Reply Quote 0
                                • mickym
                                  mickym Most Active @Aphofis last edited by mickym

                                  @aphofis Im Prinzip ist es egal, was aus der Alexa Node rauskommt - die triggert ja nur . Ich glaube eher, dass wenn Du die Node kopiert hast, dass da vielleicht irgendwelche Einstellungen verloren gegangen sind. Wie gesagt die kann erzählen was sie will. Ich habe mit diesen Alexa Nodes wie gesagt keine Erfahrung. Manche Kollegen schreien hier auch immer.

                                  Sobald die Node verlassen wird bekommt Alexa gar nicht mehr mit, was da passiert.

                                  Aphofis 1 Reply Last reply Reply Quote 0
                                  • Aphofis
                                    Aphofis @mickym last edited by

                                    @mickym
                                    Naja es ging ja Monate lang und alexa hat alle friendly names aus einem flow gefunden die per alexa.local vergeben werden aber das neue gerät findet sie nicht hatte es auch zum test umbenannt in aqua_info aber sie will einfach nicht.

                                    mickym 1 Reply Last reply Reply Quote 0
                                    • mickym
                                      mickym Most Active @Aphofis last edited by mickym

                                      @aphofis Du kannst ja ggf. auch einfach die alte Node mit dem Flow zusätzlich verbinden. Es tut mir ja leid - aber ich kann Dir zwar bei Node-Red helfen, aber bei Alexa nicht. Gab hier noch jemand im Forum gemacht und der hat nur Systemupdates gemacht und seine Nodes tun auch nicht mehr. Wie gesagt bei Alexa bin ich leider raus.

                                      Wenn die alten Nodes auf einer anderen Seite stehen - also in einem anderen Flow kannst die trotzdem Flow übergreifend über die link in und link out Nodes verbinden.

                                      Aphofis 1 Reply Last reply Reply Quote 0
                                      • Aphofis
                                        Aphofis @mickym last edited by Aphofis

                                        @mickym Ich teste das mal
                                        .........................
                                        Nein Alexa findet das Gerät nicht auch mit dem integrierten des alten flow

                                        mickym 1 Reply Last reply Reply Quote 0
                                        • mickym
                                          mickym Most Active @Aphofis last edited by mickym

                                          @aphofis Also mein Flow hatte ja mit der Alexa Node überhaupt nichts zu tun. Vielleicht mögen die Nodes das kopieren nicht - dann lösch halt mal die neue/kopierte Node und erstelle eine ganz Neue. Aber wie gesagt vielleicht muss Dir hier jemand anders helfen. Normalerweise hat man doch nur eine Echo-Hub Node und dann mehrere Geräte Nodes dran??? - Muss denn die Node nicht an so einen Echo Hub Node?

                                          Laut Beschreibung ist das doch diese Nodes ?

                                          54f8a4b6-f48e-443b-8832-731b27e8ca3c-image.png

                                          und dann darf es von der HUB Node nur eine geben und da hängen dann mehrere Geräte dran.

                                          War das denn bis jetzt Dein einziges Gerät in Node Red oder hattest DU mehrere?

                                          Im Status muss wohl dann auch online und nicht discovery stehen.

                                          Laut diesem Thread müssen Geräte hinter den HUB: https://forum.iobroker.net/topic/27390/gelösst-alexa-findet-keine-geräte-mehr/24

                                          Wahrscheinlich war der Fehler - dass Du die HUB Node kopiert hattest und die 2 mal da war. Ich würde mal schauen, dass die nur einmal vorhanden ist und dann die Maschine neu starten (komplett). Da wird auch davon geredet, dass sich IP Tables neu aufbauen müssen etc.

                                          Aphofis 1 Reply Last reply Reply Quote 0
                                          • Aphofis
                                            Aphofis @mickym last edited by

                                            @mickym
                                            Die node heißt: node-red-contrib-alexa-local
                                            damit habe ich das immer gemacht seid iot pro nicht mehr funktionierte.
                                            Ich habe mehrere Geräte in node red die alexa auch sauber erkannt hat.
                                            und auch funktionierte. bzw noch funktionieren. da es nicht zu komplikationen kommt hatte ich das gerät aquarium-info in alexa geräten gelöscht und neu suchen lassen

                                            mickym H 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            965
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            4
                                            74
                                            4034
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo