Node Red - Hilfe-/Frage-/Ideen-/Austausch - Thread

Hallo, ich benutze Domoticz und habe auch node red am laufen. Seit einiger Zeit probiere ich mir auch die Verbrauchsdaten bzw. das was ich nicht verbrauche auszurechnen, leider ohne Erfolg und mit einem hohen Zeitaufwand. Meine Frage gibt es diesen Flow noch im slack und wenn ja könnte ich mir den dort auch ansehen?

Das ist ja ewig her ( 2019 ) wo ich das gemacht habe.
Was genau willst du machen und wie kommen die Werte in Node Red an?

Ich habe einen ir Reader in meinem Schaltschrank an einen RPI angeschlossen. Über node-red-contrib-smartmeter hole ich mir unter anderen den aktuellen Stromverbrauch in Watt, geht dieser Wert ins Minus freut sich der Versorger. Aktuell bekomme ich über node red die Prozente in Domoticz angezeigt, leider hat das log in Domoticz nur einen 5 minütigen Intervall. Ich würde eben gerne aufgrund der Anzahl an negativen Eingängen und deren Summe, den verschenkten Strom berechnen. Auf dem Papier einfach, aber meine Programmierkenntnisse gehen gegen Null. Der Beitrag hat sich so gelesen als ob es meine Bedürfnisse erfüllen könnte.

Hallo,

die Frage ist vielleicht etwas doof, aber ich komm es beim besten Willen nicht hin: Ich hab node-red mit im ioBroker und das wiederum auf einem Raspberry Pi4 laufen, bin aber totaler Anfänger. Ich weiß mittlerweile, wie ich Werte von Geräten aus dem ioBroker (ein tuya Plug) in den virtuellen Homee bekomme und darüber auch in den richtigen Homee und auch zurück. Aber ich bekomme keine Werte von im realen Homee angelernten Geräten (z. B. Shelly 3EM oder Fritz!DECT 210) in den virtuellen Homee, damit ich daraus einen virtuellen Energiemanager bauen kann. Die notwendigen IDs kenne ich (dank GET:/node), aber wsl. fehlt mir die richtige Syntax (und mit welchem Node ich das abfrage – Funktion? Inject?)… Kann mir da jemand helfen? Vielen Dank im Voraus.

LG
Chris

Guten Morgen @Chris0Cross,

Die Werte die Über das API Node kommen rufst du nicht ab.
Diese werden dir bei jeder Änderung am Ausgang des Nodes geliefert.
Du musst lediglich mit einem Funktions Node die entsprechenden Werte Filtern und dann an das vhih Node weiterreichen.

Gerne schreibe ich dir dazu was auf, jedoch dann erst am Nachmittag.

Worauf willst du genau filtern ? Auf die AttributID oder die TypID

VG Micha

1 „Gefällt mir“

Hallo Micha,

also ich habe mir folgende IDs rausgesucht, die ich schätzungsweise für den vHEM benötige:

#Node.IDs
168=Shelly 3EM
146=Balkon (=FRITZ!DECT 210)

#Balkon Attribute.IDs
514=Aktueller Verbrauch (=Produktion, W)
515=Summierter Verbrauch (kWh)

#Shelly 3EM Attribute.IDs
673=Aktueller Verbrauch L1 (W)
674=Stromstärke L1 (A)
675=Spannung L1 (V)
676=Summierter Verbrauch L1 (kWh)
677=Aktueller Verbrauch L2 (W)
678=Stromstärke L2 (A)
679=Spannung L2 (V)
680=Summierter Verbrauch L2 (kWh)
681=Aktueller Verbrauch L3 (W)
682=Stromstärke L3 (A)
683=Spannung L3 (V)
684=Summierter Verbrauch L3 (kWh)
686=Aktueller Gesamtverbrauch (W)
687=Summierter Gesamtverbrauch (kWh)

Und ich brauche schätzungsweise diese Werte hier:


(vielleicht nicht alle, insbesondere weil der Anker-Speicher erst im September kommt und evtl. gar keine API haben wird)

Ich hatte es schon mal mit dieser Funktion versucht, die ich mir zusammengesucht hatte:

if (msg.payload.attribute.id ===514)
{
    return {payload: msg.payload.attribute.current_value
    }
}

Da kommen auch sporadisch Werte (Produktion vom Balkon), aber auch immer wieder Fehlermeldungen:
image
Wobei der Fehler mit dem Port irgendwie neu ist…

Schon mal vielen Dank!

LG
Chris

Kennst Du die Sammlung der node-red-Flows. Da ist ein vHEM dabei. Evtl. hilft der Flow als Vorlage. Soweit ich mich erinnere ging es aber in die andere Richtung. Werte sammeln und als hem an homee übergeben.

Ja, u.a. daher hatte ich mir Flows geholt, aber leider sind die dort teils 3–4 Jahre alt und offenbar hat sich die Syntax von node-red geändert, somit liefert der eine Flow z. B. nur noch Fehlermeldungen:



Und ein anderer nutzt zwar sogar die Shelly 3EM als Source, aber wohl aus einer Zeit, als es noch nicht nativ von homee unterstützt wurde und mit Umweg Aotec und ioBroker-Adapter.
Ich wollte jetzt den hier als Vorlage nutzen:

Siehe dazu auch die Screenshots in meinem vorherigen Post („E-Manager“).

LG
Chris

Wenn IO Broker im Einsatz ist, wäre es nicht auch eine Lösung, den homee Adapter zu nutzen und dann die benötigten Datenpunkte über das IOB In Node Abzurufen, dann würde man sich zumindest das Filtern mittels der Funktion Node sparen?

1 „Gefällt mir“

Das ginge natürlich auch, aber ich dachte, wenn die Daten sowieso schon in homee sind, dann muss man sie nicht erst in den ioBroker laden, um sie dann wieder in homee zu holen… Ich mein, das ist doch auch der Sinn vom virtuellen homee, dass man auch mit realen Geräten interagieren kann und Funktionen hinzufügt, die nicht per se vorhanden sind (wie der Energy Meter), oder? Vielleicht hat @Micha ja heute Nachmittag noch einen Tipp für mich.
Merci

Hallo @Chris0Cross

Der TypeError kommt von der deiner Funktion.
Du musst deinen Filter verfeinern, da es nicht nur Attribut Nachrichten gibt.

var attribute = msg.payload.attribute;
if ( attribute && attribute.id === 514 ){ return }

Dieses verhindert jetzt die Fehlermeldung.

Dein Portproblem liegt daran das du noch einen zweiten vhih definiert hast oder dein Rechner schon eine vhih Instanz auf dem Port ausführt.
Du kannst in Node Red nur einen vhih definieren und diesem dann eine beliebige Zahl an Geräten hinzufügen.
Geräte ID’s müssen einmalig sein genau wie Attribut ID’s.

Der Payload an das vhih Device muss folgenden Wortlaut haben.

{"attribute":{"id":000 , "value": 000}}

oder wenn du mehrere Attribute ändern magst dann so

{"attributes":[
{"id":000,"value":0},
{"id":001,"value":1},
{"id":002,"value":2}
]}

Schau mal ob es dir hilft und wenn noch weitere Probleme bestehen einfach melden.

VG Micha

4 „Gefällt mir“

Hallo homees!
Ich habe am Wochenende iobroker und node red auf meinem raspberry geupdatet und seitdem sind die virtuellen Geräte in homee ausgegraut. Es steht dort host nicht verfügbar.
Will ich den virutellen homee mittels Gerät hinzufügen, homee in homee hinzufügen neu anlernen. Bekomme ich eine Fehlermeldung in homee „Verbindung fehlgeschlagen“.

Was mache ich falsch?

LG,
Markus

Hast du schon den Pi und den homee neu gestartet?

Wie sieht es denn jetzt Node Red mit dem
Node aus?
Kannst auch mal einen full deploy ausführen.

Pi und homee sind jetzt neu gestartet.
Full deploy ist gemacht.
Weiterhin „host nicht verfügbar“ und ich kann keine Verbindung zum virtuellen homee aufbauen.
Ich habe jedoch eine Verbindung zwischen iobroker und homee.

Was meinst du genau mit „wie sieht es denn jetzt Node Red mit dem Node aus?“

Danke schonmal für deine Hilfe!

Vergleichbares Problem hatte ich auch schon einmal in einer Stunde des Update-Wahns (alles was so in IoBroker und den NodeRed Paletten angezeigt wurde) :crazy_face: Danach hat es Stunden als Pi-Laie gebraucht, um mit den richtigen Kommandos homme und Co wieder zum Laufen zu bekommen.

Probier mal das (läuft bei mir Stabil)

  • NodeRed 2.3.0
  • Node.js 14.21.2
  • NPM 6.14.17

Und mach bei Änderungen immer eine Backup-Image. Erspart dir viel Frust. Musste ich auch lernen… Viel Erfolg!

1 „Gefällt mir“

Wenn du eine iOS App nutzt dann melde dich mal mit der IP Adresse an den vhih an.
Den vhih nicht auf n deinen bestehenden Homee einbinden sondern als neuen homee in der App anmelden.
So kann evt. Ein Fehlverhalten des vhih ausgeschlossen werden.

Irgendwie habe ich das Problem auch, die Geräte funktionieren aber noch. Man kann die Geräte schalten, Sensoren aktualisieren den Wert aber die sind ausgegraut.

Node Red 3.0.2

Da hast du natürlich recht. Hab auch grundsätzlich ein (schon älteres) backup.
Aber der Pi und IObroker scheinen ja normal zu laufen. Nur homee will sich nicht verbinden aus irgendeinem Grund.
Wie gesagt sehe ich die Werte von homee in iobroker und sie leben. Deshalb sollte die Verbindung auch zu reparieren sein, denke ich.

NodeRed Adapter 4.0.3
NodeRed 3.0.2
Node,js 18.17.1
NPM 9.6.7

Wir haben nicht das gleiche Problem. Bei mir kann ich die virtuellen Geräte nicht mehr über homee schalten. Bzw. wird eine Änderung aus IObroker .nicht mehr an homee übertragen bzw. von homee registriert.

Leider keine iOS Geräte verfügbar.
Kann ich sonst noch irgendwie prüfen ob der virtuelle homee überhaupt läuft?

Es scheint mir so als ob NodeRed oder die Flows gar nicht „laufen“, da ich auch im debug-Fenster nichts sehe.