Skip to content

Node-Red

Hilfe für Skripterstellung mit Node-RED

953 Topics 13.1k Posts

NEWS

  • Durch enums iterieren?

    3
    1
    0 Votes
    3 Posts
    304 Views
    M
    @mickym Super, danke für die Hilfe. Ja ist etwas schade, dass es nicht out of the box einen einfachen Weg gibt um mit den Enums zu arbeiten. Habe mir mit deinen Informationen jetzt einen kleinen Subflow gebastelt, an den ich ein Such-Topic und den gewünschten Enum-Namen übergeben kann. Der Subflow findet dann alle states welche zum gewünschten enum gehören und gibt mir jede ID mit einer eigenen message zurück. Damit kann ich dann sehr einfach in meinen Flows über die entsprechenden messages weiterarbeiten. Weiterhin kann ich mit dem Subflow auch gleich unerwünschte enums herausfiltern (habe ein enum mit automatisierten states, welche ich ggf. ignorieren möchte) und der Subflow hat auch noch die Möglichkeit nur aktive states zu berücksichtigen. Damit hab ich eine eierlegende Wollmichsau die ich überall in meinen Flows einsetzen kann. :) MfG Micha
  • Buch / Literatur zu Node-red

    6
    0 Votes
    6 Posts
    484 Views
    M
    @mickym Okay. Ich teste dann mal weiter. Wenn ich den produktiven Flow in Arbeit habe, dann poste ich mal den Flow. Edit: Ich habe mir gerade eine Testumgebung auf meinem Testsystem aufgebaut. Da laufen jetzt schon die Daten ein. Morgen kann ich dann weitermachen.
  • Shelly Plus Plug S - Node Red

    8
    1
    0 Votes
    8 Posts
    741 Views
    hotspot_2H
    @mickym sagte in Shelly Plus Plug S - Node Red: @hotspot_2 Hast du die simple Variante ohne rpc direkt als command versucht? Das teste ich noch.
  • Node Red Export zu ioBroker Datenpunkt

    4
    1
    0 Votes
    4 Posts
    345 Views
    mickymM
    @phil_discount Na ja wie gesagt - Deine Flows in eine neue Instanz (interner NodeRed Adapter) zu importieren wäre kein Hexenwerk gewesen und die sauberste Lösung. Ich könnte Dich ja unterstützen - aber machen musst Du halt selbst. Und wie gesagt, Du musst ja Deine jetzige Instanz deswegen nicht gleich wegschmeissen - sondern kannst die sogar parallel laufen lassen - nur halt nicht auf die gleiche Hardware zugreifen lassen. Man kann ja auch einzelne Flows deaktivieren.
  • Fehler in Node-Red Function

    3
    0 Votes
    3 Posts
    289 Views
    icebearI
    @mickym Oh, vielen Dank. Das war ja einfach, aber jetzt ist alles i.o und die nervige Fehlermeldung ist weg. Nochmals vielen Dank für die schnelle Antwort.
  • Zwei Strings zusammenführen

    23
    3
    0 Votes
    23 Posts
    1k Views
    P
    @ju_ Prima. Danke für die Rückmeldung. Edit: In den beiden Change-Nodes kann die Regel, wo die Werte nach flow.Datum und flow.Tage geschrieben werden, raus. Da brauchts nur das Topic. Den Rest macht die Function. Die nimmt vom Datum die ersten 8 Stellen und vom Tage sucht die sich nur die Ziffern am Anfang raus. Wenn beides gefunden wurde, wird es weitergeleitet.
  • Rolladensteuerung Shelly x Alexa

    3
    0 Votes
    3 Posts
    339 Views
    mickymM
    Vielleicht postest du mal, welche Alexa Nodes Du nutzt - dann kann man Dir besser helfen.
  • Einfache Funktion - Wertüberwachung mit 2 Verzögerungszeiten

    48
    0 Votes
    48 Posts
    3k Views
    mickymM
    @i0br0ker Wie gesagt hier nochmal zum Abschluss um mein Geschriebenes auszuprobieren und wie gesagt, das solltest Du halt selbst machen: [image: 1736859406124-b432c456-6bf4-47ca-b117-ba0ed827c7a2-image.png] Mach diese Inject Node vor den Filter und eine Debug Node dahinter und schau, ob Du nach der 1. Nachricht noch jemals was raus bringst. Spoiler [ { "id": "38380c7431f79978", "type": "inject", "z": "7e6af0015415146d", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "SMAcharge", "payload": "true", "payloadType": "bool", "x": 900, "y": 7280, "wires": [ [ "f6a8cb46c61a8f11" ] ] }, { "id": "f260b3dadb7efeb5", "type": "debug", "z": "7e6af0015415146d", "name": "teste filter", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "payload", "targetType": "msg", "statusVal": "", "statusType": "auto", "x": 1300, "y": 7220, "wires": [] } ] Ansonsten dann viel Glück und Gelingen. Ich bin dann erst mal raus.
  • Alexa-Geräte reagieren nicht mehr

    4
    1
    0 Votes
    4 Posts
    335 Views
    haselchenH
    @mickym Ersteres wusste ich :) Meistens kannst Du ja dann doch noch was zu Nodes beitragen ;)
  • String [14] in true / false umwandeln.

    8
    2
    0 Votes
    8 Posts
    389 Views
    mickymM
    @ju_ Na dann ist ja gut - wie gesagt, wenn da ein Buffer rauskäme dann müsstest du umwandeln. Generell, wenn du einzelne Register ausliest, solltest Du Dich dann mit den Buffer Nodes beschäftigen. Ansonsten wenn Du mit Standardnodes auskommst und ist das immer die richtige Wahl.
  • [gelöst] JSONata loop - $moment > Invalid date?

    8
    3
    0 Votes
    8 Posts
    657 Views
    M
    @mickym said in JSONata loop - $moment > Invalid date?: Spaß macht es auf jeden Fall. :-) Ich stoße beim tüfteln nur oft an meine Grenzen. JSONata ist für mich noch Neuland. Nochmal vielen lieben Dank, dass du dich da so reingefuchst hast. @mickym Mein fertiger Flow für Feiertage und Schulferien zusammen: Spoiler [ { "id": "2428c1679199ce79", "type": "function", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Global:Feiertag", "func": "msg.payload = global.get(\"Frei\");\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1740, "y": 280, "wires": [ [ "16744919a414ee37" ] ] }, { "id": "16744919a414ee37", "type": "debug", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Info", "active": true, "tosidebar": false, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 1910, "y": 280, "wires": [] }, { "id": "27a3db497b5ec5d0", "type": "inject", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Abfrage", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "06 00 * * *", "once": true, "onceDelay": "0.5", "topic": "", "payload": "", "payloadType": "date", "x": 1560, "y": 280, "wires": [ [ "2428c1679199ce79" ] ] }, { "id": "2873966a84096291", "type": "http request", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "https request", "method": "GET", "ret": "obj", "paytoqs": "ignore", "url": "", "tls": "498c6e5f.1070f", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "basic", "senderr": false, "headers": [], "x": 1920, "y": 120, "wires": [ [ "7a7a0f91d75faecf" ] ] }, { "id": "98eaa50401fd8651", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "url", "pt": "msg", "to": "$.url", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1890, "y": 60, "wires": [ [ "2873966a84096291" ] ] }, { "id": "2b49ef7e9032ba65", "type": "function", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Url", "func": "msg.payload = `https://openholidaysapi.org/SchoolHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;\n\n", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1710, "y": 60, "wires": [ [ "98eaa50401fd8651" ] ] }, { "id": "668cd4c46954209e", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Jahr", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Jahr", "tot": "str" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$moment().year() ", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$string(payload)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1710, "y": 120, "wires": [ [ "2b49ef7e9032ba65" ] ] }, { "id": "081d12e755b9ae21", "type": "inject", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Abfrage", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "05 00 * * *", "once": true, "onceDelay": "0.5", "topic": "", "payload": "", "payloadType": "date", "x": 1560, "y": 140, "wires": [ [ "668cd4c46954209e", "ab40ce0d2f51afd7" ] ] }, { "id": "def42661118b4dd8", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.payload.isSame", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2310, "y": 120, "wires": [ [ "175999b28a5905ca" ] ] }, { "id": "1524c9b76d833a59", "type": "http request", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "https request", "method": "GET", "ret": "obj", "paytoqs": "ignore", "url": "", "tls": "498c6e5f.1070f", "persist": false, "proxy": "", "insecureHTTPParser": false, "authType": "basic", "senderr": false, "headers": [], "x": 1920, "y": 160, "wires": [ [ "ecf91cc75ee58cec" ] ] }, { "id": "ab40ce0d2f51afd7", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Jahr", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Jahr", "tot": "str" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$moment().year() ", "tot": "jsonata" }, { "t": "set", "p": "payload", "pt": "msg", "to": "$string(payload)", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1710, "y": 160, "wires": [ [ "12625be60bc8538d" ] ] }, { "id": "12625be60bc8538d", "type": "function", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Url", "func": "msg.payload = `https://openholidaysapi.org/PublicHolidays?countryIsoCode=DE&validFrom=${msg.payload}-01-01&validTo=${msg.payload}-12-31&languageIsoCode=DE&subdivisionCode=DE-BY`;\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 1710, "y": 220, "wires": [ [ "1ffa03fb20ce426e" ] ] }, { "id": "1ffa03fb20ce426e", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "", "rules": [ { "t": "set", "p": "url", "pt": "msg", "to": "payload", "tot": "msg" }, { "t": "set", "p": "url", "pt": "msg", "to": "$.url", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 1890, "y": 220, "wires": [ [ "1524c9b76d833a59" ] ] }, { "id": "ecf91cc75ee58cec", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Feiertage", "rules": [ { "t": "delete", "p": "headers", "pt": "msg" }, { "t": "delete", "p": "statusCode", "pt": "msg" }, { "t": "delete", "p": "url", "pt": "msg" }, { "t": "delete", "p": "responseUrl", "pt": "msg" }, { "t": "delete", "p": "retry", "pt": "msg" }, { "t": "delete", "p": "redirectList", "pt": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\t \"Feiertag\": $.name[language=\"DE\"].text,\t \"payload\": (\t $date := $moment($.startDate,'YYYY-MM-DD');\t $today := $moment();\t $date.isSame($today)\t )\t }", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2100, "y": 160, "wires": [ [ "3da676eba96a5168" ] ] }, { "id": "8a5a46b1a1839d84", "type": "debug", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Info", "active": true, "tosidebar": false, "console": false, "tostatus": true, "complete": "payload", "targetType": "msg", "statusVal": "payload", "statusType": "auto", "x": 2990, "y": 140, "wires": [] }, { "id": "83e59a86c8412805", "type": "function", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "includes(true)", "func": "const Frei = msg.payload[0] && msg.payload[1];\nmsg.payload = Frei.includes(true);\nreturn msg;", "outputs": 1, "timeout": "", "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 2680, "y": 140, "wires": [ [ "ad9391d7ef4f1de7" ] ] }, { "id": "3da676eba96a5168", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.payload", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2310, "y": 160, "wires": [ [ "175999b28a5905ca" ] ] }, { "id": "175999b28a5905ca", "type": "join", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "", "mode": "custom", "build": "array", "property": "payload", "propertyType": "msg", "key": "topic", "joiner": "\\n", "joinerType": "str", "accumulate": false, "timeout": "", "count": "2", "reduceRight": false, "reduceExp": "", "reduceInit": "", "reduceInitType": "", "reduceFixup": "", "x": 2510, "y": 140, "wires": [ [ "83e59a86c8412805" ] ] }, { "id": "7a7a0f91d75faecf", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Schulferien", "rules": [ { "t": "delete", "p": "headers", "pt": "msg" }, { "t": "delete", "p": "statusCode", "pt": "msg" }, { "t": "delete", "p": "url", "pt": "msg" }, { "t": "delete", "p": "responseUrl", "pt": "msg" }, { "t": "delete", "p": "retry", "pt": "msg" }, { "t": "delete", "p": "redirectList", "pt": "msg" }, { "t": "set", "p": "payload", "pt": "msg", "to": "payload.{\t \"Schulferien\": $.name[language=\"DE\"].text,\t \"payload\": (\t $start := $moment($moment($.startDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t $end := $moment($moment($.endDate,'YYYY-MM-DD').format('DD.MM.YYYY'),['DD.MM.YYYY','x'],'de');\t $diff := $end.diff($start, 'days');\t ([0..$diff])@$day.{\t \"date\": $moment($.startDate,'YYYY-MM-DD').add($day,'days').format('DD.MM.YYYY'),\t \"today\": $moment().format('DD.MM.YYYY'),\t \"isSame\": $moment($.startDate,'YYYY-MM-DD').add($day,'days').isSame($moment(),'days')\t } \t )\t }", "tot": "jsonata" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2110, "y": 120, "wires": [ [ "def42661118b4dd8" ] ] }, { "id": "ad9391d7ef4f1de7", "type": "change", "z": "2a5d5250.f178be", "g": "d7ab92de65468601", "name": "Frei", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Frei", "tot": "str" }, { "t": "set", "p": "Frei", "pt": "global", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 2850, "y": 140, "wires": [ [ "8a5a46b1a1839d84" ] ] }, { "id": "498c6e5f.1070f", "type": "tls-config", "name": "", "cert": "", "key": "", "ca": "", "certname": "", "keyname": "", "caname": "", "servername": "", "verifyservercert": false, "alpnprotocol": "" } ] [image: 1736090206348-flow_schulferien_5.jpg] Nebenbei. Ist absolut erstaunlich wie enorm man einen Flow verschlanken kann. Flow für die Feiertage: [image: 1736090490259-flow_feiertage.jpg] Flow für die Feiertage: [image: 1736090992721-flow_feiertage_1.jpg] Und der absolute Wahnsinn war das Abrufen auf einmal. Dadurch redziert sich alleine bei den Feiertagen das JSONata von 106 auf 8 Zeilen in der change-node. :-)
  • [gelöst] http request mit 2-facher Ausgabe

    5
    1
    0 Votes
    5 Posts
    429 Views
    M
    @mickym said in http request mit 2-facher Ausgabe: @mage Das Problem ist meines Erachtens ganz simple und ich verstehe auch nicht, warum man das macht. In dem Du aus der 1. Inject Node 2 Kabel schickst, verdoppelst Du die Anzahl Nachrichten. [image: 1735766671105-6ab980c0-8215-4b8e-800a-b29fcfec80f5-image.png] Wenn Du also die Nachricht nicht verdoppelst, dann kommt auch nur EINE Nachricht raus. Vielen lieben Dank. Die doppelte Verbindung hatte ich total übersehen. :-) Jetzt funktioniert es wie es soll. [image: 1735767316367-screenshot_node-red2.jpg]
  • Shelly's mit Nodered und IO Broker gleichzeitig (mit MQTT)?

    3
    0 Votes
    3 Posts
    228 Views
    mickymM
    @arnie007 Du kannst jederzeit über VIS auf alle Deine states im Iobroker zugreifen- Ggf musst Du halt den mqtt Client/Server Adapter an Deinem exterenen Mqtt Broker betreiben um aktuelle Status zu visualisieren. Die Steuerung aus einer VIS geht schon gleichzeitig über mqtt - wenn Du ggf nur NodeRed zur Steuerung verwenden willst, kannst Du auch eigenene Datenpunkte unter 0_userdata.0 anlegen und dann mit iobroker-In Nodes Flows in NodeRed anstossen und dann weiter steuern. Am optimalsten finde ich, weil der iob mqtt Adapter in meinen Augen manchmal Probleme macht - mosquitto als externen mqtt Broker zu nutzen - dann hast Du auch keine Port-Probleme. Da alle Geräte und System mqtt Clients sind. Sowohl die Shellies, als auch iobroker mit seiner VIS über den mqtt Adapter als Client, als auch Node Red als Client. Wichtig ist allerdings, dass Du nur mit EINEM mqtt Broker in Deinem gesamten System arbeitest, egal wo sich der befindet (entweder im iobroker selbst oder extern über mosquitto).
  • Werte von Node-Red in influxdb speichern

    2
    1
    0 Votes
    2 Posts
    367 Views
    mickymM
    @icebear Für die normalen Influx Out Nodes - musst Du in einem Array, erst ein Objekt mit den Feldern und dann ein Objekt mit den Tags liefern. HIer mal die Inject Nodes - mit den es verschiedene Szenarien ausprobiert werden können: Spoiler [ { "id": "b16df1e0167e5bc3", "type": "inject", "z": "5ad55a7b0d4580eb", "name": "2 Felder - temperature and humidity - no tags", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"temperature\":23,\"humidity\":55}", "payloadType": "json", "x": 390, "y": 1180, "wires": [ [ "90f29f6c8b919e3e" ] ] }, { "id": "e60c2882c426fdf5", "type": "inject", "z": "5ad55a7b0d4580eb", "name": "2 Felder - temperature and humidity - muliple tags", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "[[{\"temperature\":24,\"humidity\":52},{\"room\":\"Wohnzimmer\"}],[{\"temperature\":25,\"humidity\":70},{\"room\":\"Bad\"}]]", "payloadType": "json", "x": 380, "y": 1260, "wires": [ [ "90f29f6c8b919e3e" ] ] }, { "id": "aacd65d9c75c1481", "type": "inject", "z": "5ad55a7b0d4580eb", "name": "2 Felder - temperature and humidity - tag room = Wohnzimmer", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "[{\"temperature\":23.5,\"humidity\":50},{\"room\":\"Wohnzimmer\"}]", "payloadType": "json", "x": 340, "y": 1220, "wires": [ [ "90f29f6c8b919e3e" ] ] }, { "id": "01e8862a06c685a9", "type": "inject", "z": "5ad55a7b0d4580eb", "name": "1 Feld - pressure - no tags", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "{\"pressure\":1024}", "payloadType": "json", "x": 450, "y": 1300, "wires": [ [ "90f29f6c8b919e3e" ] ] } ] [image: 1735326197772-bd08908a-83ae-451a-a087-9f0e1ed89369-image.png] Wenn Du die Batch-Nodes verwendest kannst Du alles über Objekteigenschaften festlegen: [ { "measurement": "m_batch_t&h", "fields": { "temperature": 26, "humidity": 80 }, "tags": { "room": "Dusche" } }, { "measurement": "m_batch_power", "fields": { "power": 26 }, "tags": { "device": "Laptop" } } ]
  • Blockly in Node-red umwandeln

    23
    2
    0 Votes
    23 Posts
    2k Views
    Marko1974M
    @mickym netflix
  • Node Red Parkplatzverwaltung inkl. Dashboard

    node-red
    3
    0 Votes
    3 Posts
    256 Views
    mickymM
    @pnda Ja was nicht funktioniert - wenn Du halt NodeRed Nodes verwenden würdest und nicht wieder codieren würdest. Ich kann Deinen Flow gar nicht übernehmen, da Dein Code nicht akzeptiert wird: [image: 1734805396763-70e718b8-73b1-422d-88ef-7c446591c576-image-resized.png]
  • Json an MQTT schicken

    3
    0 Votes
    3 Posts
    283 Views
    N
    @mickym Vielen Dank! So hat es funktioniert!
  • Keine Status Mitteilung an Alexa

    29
    1
    0 Votes
    29 Posts
    2k Views
    mickymM
    @jörg-winterstein Ja hönge eine debug Node dran - die NUR den status der payload ausgibt: [image: 1734645984344-ed016dc4-2020-4995-8079-16bdaf7a1c2e-image.png] und wenn da ein boolean rauskommt als Status dann in die ChangeNode und dann in den Alexa State Node.
  • Anwesenheit/Abwesenheit Steuerung und Nachricht

    27
    3
    0 Votes
    27 Posts
    2k Views
    Marko1974M
    @mickym ich lass es mal so laufen. Gestern habe ich da so viel dran rumgefummelt. Unter der Node stand auch nur connected und nie true. Seitdem heute jemand losgefahren ist, steht da jetzt auch true. Musste sich vielleicht erstmal „eingrooven“ :-) @mickym Es ist wunderschön :-)
  • [Gelöst] Alexa - Geräte reagieren nicht mehr

    95
    0 Votes
    95 Posts
    15k Views
    Hant0rH
    Wollte mich nochmal hier zurückmelden. Zu meinem Problem: Ich hatte Node Red auf einem ioBroker Slave (Pi) laufen. Da ich nicht einmal die Konfigurationsseite von Node Red im ioBroker mehr aufrufen konnte, habe ich nach Unterstützung den Pi komplett neu aufgesetzt. Beim Aufsetzen stellte sich heraus, dass die SD Karte wohl nicht mehr richtig funktionierte. Also neue SD Karte rein und die Pi nochmals neu aufgesetzt, alles installiert und eingestellt. Seitdem muss ich sagen, kann ich nicht nur die Konfigseite von Node Red im ioBroker wieder aufrufen, auch Alexa läuft (toi toi toi) seit Tagen reibungslos ohne Probleme! Noch ein kleiner Hinweis, der mir duch die Neuinstallation aufgefallen ist. Es ist kein richtiger Fehler, war aber unschön von mir in den Flows umgestezt: Ich hatte folgende Option im Node Red aktiviert: [image: 1734465476828-d8217170-ead8-46bd-855e-653b7ac24817-image.png] Dies war früher wohl im Standard aktiviert und heute nicht mehr (was richtig ist). Dadurch werden Boolean-Werte in Strings umgewandelt. Somit hatte in den Flows Switche mit folgender Konfig: [image: 1734465621314-9cb86859-b76d-49a5-9b8d-11dca7420f77-image.png] Das hatte damals funktioniert, ist aber natürlich totaler quastch, Statuswerte als Strings zu vergleichen. Heißt, die Option aus lassen und die Switche umstellen auf der Vergleich "ist wahr" oder "ist falsch": [image: 1734465746024-0c86d99e-859f-4eab-9abe-0ca8c6c34b7e-image.png] Hoffe deine Fehler sind auch alle behoben @Kaskadeur111 ;) Schöne Weihnachtstage euch allen :wave:

400

Online

32.6k

Users

82.1k

Topics

1.3m

Posts