NEWS
Neuer Node-Red Adapter 3.x in Latest - Repository
-
@mickym
Bin jetzt etwas verwirrt...
Ich möchte erreichen das weder der Initialwert noch ein Update gesendet wird.
Also wirklich nur bei einer Änderung des Datenpunkts, ist das möglich ? -
@bernd1967 Ja mit Deiner Einstellung wird nichts gesendet, falls sich der Datenpunkt nicht geändert hat. Egal ob send no message at start oder send message at start.
beides sendet nur Änderungen
Kein Unterschied.
Wenn da doch was gesendet wurde, dann hat sich der Wert bereits geändert - ich habe es zumindest gerade nochmal nachvollzogen.
Du siehst ja das nach dem Start die NOde nur auf connected steht - aber nichts sendet. Wenn was gesendet wird, dann ändert sich ja der Status auf den letzten gesendeten Wert:
-
@mickym
Nach einem deploy wird bei mir sofort was gesendet obwohl es der gleiche Wert ist.
Komisch...
Ah, Moment, Du hast kein Wildcard benutzt, das ist der Unterchied. -
@bernd1967 Kann ich nicht nachvollziehen. Kannst Du es mal mit einem selbsterstellten Datenpunkt probieren?
-
@mickym
Bei der Benutzung eines wildcard funktioniert es wohl nicht. -
@bernd1967 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:
Nach einem deploy wird bei mir sofort was gesendet obwohl es der gleiche Wert ist.
Komisch...
Ah, Moment, Du hast kein Wildcard benutzt, das ist der Unterchied.Ja das kann sein, da auch das Einlesen am Anfang nur ohne Wildcards funktioniert:
-
@mickym
Ok, dann muß ich mir was anderes überlegen.
Danke -
@bernd1967 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:
@mickym
Bei der Benutzung eines wildcard funktioniert es wohl nicht.Aber das kannst ja mit einer Filter-Node umgehen.
-
@mickym
Genau
Wobei dann leider die erste Änderung ignoriert wird... muß mal gucken wie ich das mach -
@bernd1967 Du lässt alles durch - die Filter Node kann dann auch nach topic blocken.
Wieso Du hast doch die gleichen Möglichkeiten und es wird topic genutzt. Du musst halt aus dem iobroker alles sofort einlesen.
-
@mickym
Ja, iobroker-in läßt alles durch und der Filter blockiert, hab es jetzt. -
@bernd1967 sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:
@mickym
Ja, iobroker-in läßt alles durch und der Filter blockiert, hab es jetzt.So gehts bei mir:
Funktioniert komischerweise genau anders rum. Na ja dann muss man ggf. die Beschreibung nochmals ändern.
-
-
So ich habe dieses Issue wieder kommentiert - damit man die Beschreibung nochmals umdreht, um es einheitlich und damit verständlich zur "filter/rbe" node zu machen.
https://github.com/ioBroker/ioBroker.node-red/issues/290dann sollte immer dann wenn der Initialwert ignoriert wird nichts gesendet werden, anderenfalls wird der Initialwert gesendet. Mit den Erkenntnissen würde sich die Beschreibung der Funktion dann wie folgt ändern:
send no message at start:
Es wird grundsätzlich nichts nach dem Start des NR-Adapters getriggert:- Wenn Mode = send all events - Nachricht wird erzeugt, wenn der Wert aktualisiert wurde (Update) - egal ob geändert oder nicht.
- Wenn Mode = block unless value changes - Nachricht wird immer erzeugt, wenn Wert aktualisiert wurde (Update) - egal ob geändert oder nicht. Dieser Wert wird in der Node gespeichert. Beim nächsten Update wird der Folgewert nur durchgelassen, wenn dieser sich vom Initialwert unterscheidet (Change).
send message at start:
Es wird grundsätzlich nach dem Start des NR-Adapters der Wert gesendet bzw. die iobroker-IN Node initialisiert:- Wenn Mode = send all events - Der Wert wird direkt nach dem Start des NR-Adapters gelesen und weitergeleitet. Ein Update zum Triggern ist nicht erforderlich.
- Wenn Mode = block unless value changes - Der Wert wird direkt nach dem Start des NR-Adapters gelesen und weitergeleitet. Ein Update zum Triggern ist nicht erforderlich. Beim nächsten Update wird der Folgewert nur durchgelassen, wenn dieser sich vom Initialwert unterscheidet (Change).
Wenn Mode = block unless value changes (ignore initial value) - Der vorhandene Wert wird als Initialwert bereits beim Adapterstart gelesen, aber nie weitergeleitet. Ein Update zum Triggern ist nicht erforderlich. Der Folgewert wird nur dann gesendet, wenn dieser sich vom Initialwert unterscheidet. Umgekehrt heißt das, sobald sich der Wert geändert hat, wird dieser sofort gesendet.
Dieses Wirrwarr ist leider auf meinen Mist gewachsen - da ich den Hilfetext der filter Node nicht korrekt gelesen habe.
-
So nachdem ich in dem Eingangs-Posting zu dem Adapter und der NR Version 2.x ja davon "geschwärmt" habe, wie einfach sich nun in Node-Red NodeJS Bibliotheken einbinden und verwenden lassen, hatte ich ja kurz erwähnt, dass ich hier noch ein paar Beispiele folgen lassen wollte.
Das habe ich nun getan und mir mal 3 Bibliotheken vorgenommen, die alle unterschiedliche Probleme einhalten bzw. Aufgabenstellungen erfüllen.
-
Beispiel: Ist die Einbindung einer NodeJS Bibliothek um Statistiken oder Angaben zu YouTube Videos zu erhalten. Technisch ist es ein Beispiel für asynchrone Verarbeitung und Abfangen von Fehlern von "Promise"-Objekten, da sonst NodeRed abstürzt.
-
Beispiel: Ist die Einbindung einer kleinen smarten NodeJS Bibliothek um JSON Dateien als Datenbanken zu nutzen. Ich habe hier mal 2 Anwendungsfälle simuliert, um mit Hilfe von Konfigurationsdaten - Übersetzungen zu machen.
-
Ist ein einfaches Beispiel zur Einbindung einer NodeJS Bibliothek zur Taupunktberechnung bzw. um Hitzewarnungen zu generieren .
Hier ist der Thread - um diesen nicht vollzumüllen: https://forum.iobroker.net/topic/53446/ext-nodejs-module-in-node-red-on-the-fly-nutzen-ab-v-3-0
-
-
Bei mir klappt das Update des Adapters leider nicht:
Adapter "node-red" : 3.0.1 , installed 2.4.2 [Updatable]
dann das Update
root@unless-stopped:/opt/iobroker# iobroker upgrade node-red@3.0.1 [...] Would you like to upgrade node-red from @2.4.2 to @3.0.1 now? [(y)es, (n)o]: y Update node-red from @2.4.2 to @3.0.1 host.unless-stopped Adapter "system.adapter.node-red.0" is stopped. NPM version: 6.14.16 Installing iobroker.node-red@3.0.1... (System call) [...] upload [3] node-red.admin /opt/iobroker/node_modules/iobroker.node-red/admin/index.html index.html text/html upload [2] node-red.admin /opt/iobroker/node_modules/iobroker.node-red/admin/index_m.html index_m.html text/html upload [1] node-red.admin /opt/iobroker/node_modules/iobroker.node-red/admin/node-red.png node-red.png image/png upload [0] node-red.admin /opt/iobroker/node_modules/iobroker.node-red/admin/words.js words.js application/javascript host.unless-stopped Adapter "system.adapter.node-red.0" is started root@unless-stopped:/opt/iobroker# iobroker update Used repository: beta Controller "js-controller": 4.0.21 , installed 4.0.21 Adapter "node-red" : 3.0.1 , installed 2.4.2 [Updatable]
Wie man sehen kann ist das Update nicht dauerhaft installiert worden. Hat irgendjemand eine Idee was da schief läuft?
-
@emanuel Hast Du auch die npm version installiert - ich kenne nur die 3.0.0 oder hast Du von gitHub installiert?
-
node-red github: 3.0.1 latest: 3.0.1 for 2 days stable: 2.4.2 for 42 days
-
@thomas-braun OK - Danke - ist an mir vorbei gegangen. Ich werde mal updaten und schauen, ob ich auch so ein Problem habe.
-
@emanuel sagte in Neuer Node-Red Adapter 3.0.0 in Latest - Repository:
root@unless-stopped
Wie immer: Nicht als root rumhampeln.
Als useriobroker upload all iobroker update