UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[TIPP] Aus OpenweatherMap Werte an KNX senden

Alles rund um Node Red im Allgemeinen und den entsprechenden Docker-Container für den Timberwolf Server im Speziellen.
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

Aus OpenweatherMap Werte an KNX senden

#1

Beitrag von Robert_Mini »

Dank @alexbeer gab es schon länger eine Beschreibung für die Verwendung von OpenweatherMAP in NodeRED.

Ich habe die Anleitung nun in die KB eingepflegt:
app.php/kb/viewarticle?a=123

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#2

Beitrag von Robert_Mini »

Hallo zusammen!

Ich hätte die Map von Alex gerne noch um die Vorhersage Regen erweitert.
Hab zwar von NodeRED keine Ahnung, aber ich finde es auf den ersten Blick sehr intuitiv!!!

Ich habe bisher geschafft den Wert richtig zu lesen, siehe die 0,84mm im Bild unten im Debug Node msg.payload.
Der Code hierfür im Node "Vorhersage Regen" ist wie folgt:

Code: Alles auswählen

var preview_rain_3h_1_600 = { payload:msg.payload[3].rain };
return preview_rain_3h_1_600;
NodeRed_Rain.png

Ich scheitere aber beim Übertragen an KNX. Dort kommt bei DPT 9 nur 0 an.

Ich vermute das hängt mit den 3h im Objekt zusammen.
Ich kann im Code aber nicht payload:msg.payload[3].rain.3h ansprechen.

Testweise dachte ich, ein DPT16 zu erzeugen, aber da bekomme ich einen "TypeError: Cannot read property 'toString' of undefined", womit ich als Rookie auch nichts anfange. @alexbeer: kannst du mir da weiterhelfen?

Konkret: Wie bekommte ich die 0,84 in den DPT 9 KNX Objekt geschrieben?

Danke und lg
Robert
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#3

Beitrag von Robert_Mini »

Hab grad noch ein wenig probiert:
Mit split auf 3 Stellen bekomme ich tatsächlich die Regenmenge auch auf den Bus.

An der Stelle bin ich aber mit dem Latein ziemlich am Ende:
- Richtigerweise muss ich die ersten 3 Stellen wegschneiden - keine Idee wie?
- Wenn der Regenforecast 0 ist gibt die API leider "undefinded" zurück. Wie kann ich undefined durch 0 ersetzen

DANKE
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#4

Beitrag von alexbeer »

Hi Robert,

ich habe das mittlerweile wie folgt am laufen:

Code: Alles auswählen

// path to rain: payload[1].rain["3h"]
// sum for next 24h
var rainTotal = 0;
for (var i = 0; i < msg.payload.length; i++) {
if (i < 9 && msg.payload[i].hasOwnProperty("rain")) {
rainTotal += msg.payload[i].rain["3h"];
} 
}
 return {payload:rainTotal};
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#5

Beitrag von Robert_Mini »

Hallo Alex!

Funktioniert perfekt - Danke!! Ich finde mehr und mehr gefallen an NodeRED!

Ich verstehe die API so, dass man mit obigem Aufruf den Regen am nächsten Tag 0:00 - 24:00 bekommt?

Im Diagramm auf OWM sind auch die Regenforecasts des aktuellen Tages zu sehen. Die bekommt man offensichtlich nur, wenn man am Vortag abfragt, oder sehe ich das falsch?

Danke und lg
Robert

PS: Habs auch in der KB angemerkt!
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

alexbeer
Reactions:
Beiträge: 394
Registriert: Mi Sep 12, 2018 1:11 am
Wohnort: NRW
Hat sich bedankt: 212 Mal
Danksagung erhalten: 251 Mal

#6

Beitrag von alexbeer »

Hi Robert,

Ich teile deine Einschätzung bzgl NodeRed vollständig. Das Tool ist wahnsinnig umfangreich und erweitert den TWS für mich super.

Bzgl der API und dem Parameter Regen scheint es einen Unterschied bzgl IST-Wetter und Vorhersage zu geben.
Die Vorhersage ist bereits für den kompletten Tag.
Beim Ist-Wetter gibt es ein Array mit dem Niederschlag je 3h.
Daher kummuliere ich mir den Niederschlag über einen ganzen Tag.
Sorry falls ich da irritiert haben sollte.

VG Alex
VG Alex
Timberwolf122 (TWS 2500) // Wartungs-VPN: offen // Reboot: jederzeit

Ersteller
Robert_Mini
Reactions:
Beiträge: 3741
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1164 Mal
Danksagung erhalten: 2058 Mal

#7

Beitrag von Robert_Mini »

Hast du für das Ist-Wetter auch den Code für mich? ;)

Ich hab das schon so gelesen, dass du i=0 - <9 aufsummierst, das ist aber immer der nächste Tag - richtig?
Hinweis: Ich bin der Meinung, dass es i<8 heißen sollte, da 0-7 Tag1 ist! - 5 Tages Arry 0-39 (bzw. 5x8=40)

Danke für deine Hilfe!

NodeRED ist super und wenn man den Umweg über KNX durch MQTT ersetzen kann, dann wird es so richtig COOL!!!

lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297
Antworten

Zurück zu „Docker Container: Node Red“