Wer nutzt hier noch Node-Red

  • Ich bin ebenfalls Node-Red Nutzer.

    Es läuft bei mir im Docker auf der Diskstation in Kombination mit ioBroker und Mosquitto ebenfalls in Containern.

    Für ioBroker gäbe es Node-Red zwar auch als Adapter, ich habe die beiden aber lieber voneinander unabhängig. Datenaustausch und Triggern zwischen den beiden ist ja auch mit MQTT über Mosquitto und dem Simple-API-Adapter per http-requests möglich. MQTT habe ich zugegebenermaßen erstmals vor zwei Wochen ausprobiert und Gefallen daran gefunden.

    Für das Scripting mag ich besonders den Editor von Node-Red, wo man sich die Flows schön durch die freie Platzierung zusammenbauen kann, und es somit meist auch optisch nachvollziehbar bleibt, warum was wann wo und wenn ist, wie es ist. Blockly von ioBroker finde ich da schon umständlicher in der Handhabung.

    Sehr viel Smart-Home Komponenten habe ich gar nicht. Mehrere Wifi-Steckdosen und diverse Unterhaltungselektronikgeräte, einen Staubsaugerroboter und so'n Kram. Mir geht es vornehmlich um den Spaß beim Basteln/Tüfteln, dass am Ende etwas funktioniert. Häufig bleibe ich dann bei einem Problem sehr lange hängen, dass ich dann ewig nach meinem Denkfehler suchen muss, bis es klappt. Ähnlich wie bei Tasker mit Android. Ganz ehrlich, ein Mega-Experte bin ich nicht.

    Es sind dann meistens eher kleinere Dinge, die ich dann so bastle. Zum Beispiel über das Dashboard auf die Schnelle einen meiner Radiosender auf einem meiner Google-Cast Geräte starten inklusive Lautstärkeregelung. Oder das mir Alexa Bescheid sagt, wenn ein Familienmitglied gerade angekommen ist oder wer gerade anruft. Oder das ich vom Mobilgerät eine Url einer Streamingseite mit Tasker an Node-Red teile und dieses dann mittels youtube-dl den Stream automatisch an eines meiner Kodi-Geräte weitergibt. Welches Kodi in welchem Zimmer online ist weiß Node-Red per MQTT mit dem kodi2mqtt-Addon.

    Also alles in allem Dinge, die nicht so superwichtig sind. Wie gesagt, es geht mir hauptsächlich um de Spass beim Erstellen und nebenbei lernt man noch was.

    Gruß, Stefan.

  • Verwende auch NodeRed mit IOBroker auf nen RPI 4.

    Da ich eine KNX Installation habe, ist Node Red ein sehr mächtiges Tool, das voll integriert ist.

    Nebenbei lese ich noch vom Holzvergaser mit HTTP Request die Daten raus und verarbeite die in der Visu weiter.

    Für spezielle Logiken, wo man einen KNX Server braucht, der gleich mal ne Stange Geld kostet, da ist Node Red perfekt dazu.

    mfg Franz Josef

  • Puh ob ich mit meiner Node Red installation weiter machen oder auf was anderes wie Home Assistant etc. umsteige, keine Ahnung.

    Meine Installation besteht ja aus vier Docker Container: NodeRed+ Homekit, Mosquitto, Graphana und InfluxDB.
    Gestern habe ich dann mal bemerkt das es für das Tado Addon ein Update gibt, und damit nahm das unglück seinen lauf.

    Dieses Arbeitete natürlich nicht mit der Node Version des Node Red Containers zusammen, ließ sich aber problemlos installieren.
    Nach dem Neustart von Node Red lief gar kein Flow mehr, deinstallieren ließ sich das Addon aber auch nicht mehr.
    Ich hab dann als alles Docker geupdated, was ein Fehler war wie sich im nachhinein herausstellte. Der Grundgedanke war das mit dem neuen Container auch die pasendenode Version für das Addon kommt. Pustekuchen.
    Nach ca. 1 Stunde rumsuchen habe ich herausgefunden wie ich den bescheuerten Config Node finde damit ich das Tado Addon wieder deinstallieren kann.

    Nur trotzdem funktionierte noch nichts wieder zuhause.

    Wie sich herausstellte wurde im zuge des Docker Updates Mosquitto auf v2 geupgraded und der Docker hat einen "Breaking Change" drin der es ohne zuätzliche Konfiguration unmöglich macht diesem übers Netzwerk anzusprechen. Da ich jetzt schon 1,5 Std. genervt am rumtippen war hab ich den Docker auf v. 1.6 gepinned und dann funktionierte das ganze endlich auch wieder.

    Genau der gleiche Fall ergab sich bei der InfluxDB.

    Summa summarum hat mich das ganze 2 Std. gekostet. Klar vorheriges Backup hätte teilweise geholfen.
    Aber man sieht wieviel Arbeit in solche eine Bastellösung stecken kann.

    Deswegen jetzt meine Idee auf was anderes umzusteigen.
    Openhab mag ich nicht, hab es mal probiert und fand es einfach nicht gut, vielleicht auch weil ich seit dem Studium ein Problem mit Java habe.

    Mal gucken was IOBroker oder HomeAssistant so bieten.

  • Hi,

    ich habe auch gerade NodeRed entdeckt. Ursprünglich, weil es einer der Wege ist, um Daten meiner Wärmepumpe bequem in eine InfluxDB zu bekommen. Das ganze läuft auf einen RasPi, damit InfluxDB 1.7.11 da die V2 nicht für ARM verfügbar ist. Da bin ich gerade am basteln.
    Entdeckt habe ich, dass man mit NodeRed wohl auch schöne Oberflächen machen kann. Dass muss ich mir dann auch mal zu Gemüte führen. Ich glaube da fange ich mit OpenHab3 gar nicht erst genauer an.

    Ich hätte da aber die eine oder andere Frage:
    Im Moment schiebe ich die Daten meiner Wärmepumpe in verschiedene "Measurements", also "Außentemperatur", "Vorlauftemperatur" usw. usf.. Also vom Prinzip her in verschiedene Tabellen. Ist das bei Influx so korrekt? Oder müsste man da nicht mehrere Spalten haben?

    Wie sieht es den bei Daten aus, die aus mehreren Spalten bestehen müssen? Ich bekomme z.B. zu Fehlermeldungen auch einen Timestamp (ich glaube sogar Unix-codiert). Wie muss ich den die Message an die InfluxDB gestalten, dass:
    Möglichkeit 1: Der Timestamp in eine eigene Spalte kommt?
    Möglichkeit 2: Die InfluxDB den Timestamp als Timestamp für die Zeile verwendet?

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • Also die Oberflächen die man mit Node Red hinbekommt sind so, naja.
    Ich habe es ne ganze Zeit lang versucht, man muss aber schon für die kleinsten Dinge extreme Klimmzüge machen.

    Ich bin also dazu übergegangen die Logik meines Smarthomes in Node Red zu machen und die Oberfläche über Homeassistant.

    Ich nehme in InfluxDB auch für jede Messstelle ein eigenen Measruement und lasse das ganze dann von Grafana visualisieren.

  • Hmm.. werde ich mir wohl ansehen müssen, notfalls wird für die Visualisierung was anderes gesucht. Da man ja NodeRed dazwischen schalten kann, wäre man hier ja sehr unabhängig von irgendwelchen PlugIns für div. Hardware.

    Im Allgemeinen steigt meine Lernkurve gerade bei NodeRed deutlich stärker und schneller an, als bei OpenHab3. Und nicht zuletzt habe ich entdeckt, dass es dazu seit kurzem ein Buch gibt. Und das trifft sich einfach sehr gut mit meinen Lerngewohnheiten für solche Themen.
    Auch habe ich eines meiner Probleme gelöst. Einfach durch rtfm, hätte ich mal schon wieder eher durchführen müssen:

    Zitat

    Möglichkeit 1: Der Timestamp in eine eigene Spalte kommt?

    einfach

    Code
    msg.payload.value1 = foo
    msg.payload.value2 = foo2


    eigentlich einfach, nicht?

    Mit Grafana habe jetzt meine ersten Temperaturen visualisiert. Auch richtig schön. Wenn man aber seine kurven in bestimmten Farben haben will, wirds aufwendig. Muss man auch erstmal finden (Override). Dafür weiß ich jetzt auch, wie ich Daten mit verschiedenen Einheiten in eine Grafik reinbekommen würde (eine Achse links, die andere rechts).

    Jetzt muss ich mir mal erstmal die Nodes für die ganzen binären Daten und Statusmeldungen zusammenbasteln. Und dann gucken, wie ich das sinnigerweiße in Grafana anzeigen lasse...

    Zitat von root2

    Merke: Das "S" in "IoT" steht für Sicherheit!

  • Bin jetzt auch von iobroker zu Home Assistant mit Node-Red umgestiegen und bastel mir grad in Node-Red ne Waschmaschinen/Trockner Benachrichtigung zusammen. Hab zwar noch keinen plan was ich in die nodes reinschreiben muss ( gibt ja aber genug Anleitungen) aber so langsam verstehe ich zumindest mal was die Sachen die da reinkommen machen :)

    Client: Nvidia Shield TV 2015 (16gb)
    Server/NAS: Intel Core i7 4790T *** Gigabyte GA-H97n-WiFi *** 16GB DDR3-1600 *** Nanoxia Deep Silence 3 *** 1x 4TB Parity | 4x 4TB | 1x 250GB SDD Cache *** unRAID 6.8.x

  • Wenn du mir bisschen Zeit gibts, das hab ich nämlich schon umgesetzt ;)



    So mal als Anregung. werte kommen per MQTT rein um die eigentliche überwachung kümmert sich folgender Node: https://flows.nodered.org/node/node-red-…b-power-monitor

    Das ganze wird dann an einen Telegram Channel gesendet

  • jo danke schau ich mir mal an

    Client: Nvidia Shield TV 2015 (16gb)
    Server/NAS: Intel Core i7 4790T *** Gigabyte GA-H97n-WiFi *** 16GB DDR3-1600 *** Nanoxia Deep Silence 3 *** 1x 4TB Parity | 4x 4TB | 1x 250GB SDD Cache *** unRAID 6.8.x

  • Bedingt durch influxdb und Home Assistant möchte ich nun gerne auch Node Red als Logik Schnittstelle zwischendrin arbeiten.

    Gibt es in Node Red eigentlich die Möglichkeit einen "Onlinetest" zu nutzen? Also in Node Red zu sehen wie die Werte eingelesen werden und was welcher Node macht? So nach dem Prinzip von Online Tests in SPS Steuerungen.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Okay, danke euch.

    Habe das Gefühl das die influxdb Node nicht funktioniert und er deswegen nicht in eine HA Entität schreibt.

    Schaue ich mir dann mal an.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Nach ein wenig beschäftigen mit Node-Red habe ich es auch hinbekommen.
    Woran lag es denn nun? Verschiedene Faktoren, folgendes im groben:

    1. Ich hatte keine Inject-Node vorangestellt und somit konnte er sich per se keine Daten holen. Diese habe ich jetzt einfach auf ein Intervall gesetzt und fertig.
    2. Der Query Eintrag passte nicht. Ich hatte mir aus InfluxDB folgendes kopiert

    Code
    from(bucket: "zaehler")
      |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
      |> filter(fn: (r) => r["_measurement"] == "mqtt_consumer")
      |> filter(fn: (r) => r["_field"] == "value")
      |> filter(fn: (r) => r["host"] == "telegraf_zaehler")
      |> filter(fn: (r) => r["topic"] == "wasserzaehler/main/value")
      |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)
      |> yield(name: "mean")

    Um es nun zum laufen zu bringen musste ich es wie folgt abändern

    Code
    from(bucket: "zaehler")
      |> range(start: -1h)
      |> filter(fn: (r) => r["_measurement"] == "mqtt_consumer")
      |> filter(fn: (r) => r["_field"] == "value")
      |> filter(fn: (r) => r["host"] == "telegraf_zaehler")
      |> filter(fn: (r) => r["topic"] == "wasserzaehler/main/value")
      |> last()
      |> yield(name: "Wasserzaehler")


    3. Zu guter letzt habe ich gelernt, dass solch ein Wert verschiedene Variablen enthalten kann und somit musste ich natürlich angeben was ich denn haben will. Also folgenden State eingetragen payload[0]._value und schon geht es.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • Kann mir einer ne Hilfestellung bzgl. mathematischen Berechnungen geben?

    Ich möchte gerne die drei Werte in der function miteinander multiplizieren:

    Warum? Ich will meinen Gas-Wert von m3 zu kWh umrechnen. Zusätzlich möchte ich aber das die "konstanten" Werte nicht in der Formel stecken, sondern extern (bei mir Home Assistant) verändert werden können. Dafür habe ich mir einfach zwei Helfer-Entitäten angelegt.
    Nun bin ich gerade etwas überfragt wie ich die drei externen Werte in der function aufrufen kann/soll.

    NAS: Gehäuse: Jonsbo G3, Mainboard: MSI B460M PRO, CPU: Intel Pentium G6400, OS: OMV 6

    Client: NVIDIA Shield Pro 2019

  • ich nehme an die Werte kommen alle als msg.payload.
    Du brauchst also ein Element welches das ganze Verschiebt nach msg.wert1 , msg.wert2, msg.wert3
    Dafür nimmst du das Node Change z.B.

    Im Function Node dann:
    msg.payload = msg.wert1 + msg.wert2 + msg.wert3;
    return msg;


    Es geht auch mit dem Join Node, das so ist quick and dirty.

    --------------
    Guides nicht mehr verfügbar wegen Youtube unvermögen guten von schlechten Kodi Videos zu unterscheiden.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!