Daten senden von Espeasy zu Espeasy?

Begonnen von Steffen, 30 Juli 2018, 12:06:14

Vorheriges Thema - Nächstes Thema

Dondolo

Zitat von: DasQ am 07 Juli 2019, 09:41:27
Da ist meiner Meinung nach ,,rules" das Mittel der Wahl.

Da du auf ein Display visualisieren willst, empfiehlt es sich das über rules zu Befüllen.
Ich Sitz jetzt leider nicht am Rechner sonst hätt ich dir meine Küchenuhr gezeigt.
Problem ist, wenn mehr als die im Plugin zu befüllenden feldvariablen zu befüllen ist. Dynamisch wechselnde Inhalte, geht meines Wissens nicht an jedem Display. (Kann aber sein das sich da inzwischen was geändert hat, oder es gibt ein Hack .... wer weis.)

Hab ich vergessen, danke für die Unterstützung bin auf dem Weg der Besserung.  :)

Dondolo

Zitat von: DasQ am 07 Juli 2019, 09:41:27
Da ist meiner Meinung nach ,,rules" das Mittel der Wahl.

Da du auf ein Display visualisieren willst, empfiehlt es sich das über rules zu Befüllen.
Ich Sitz jetzt leider nicht am Rechner sonst hätt ich dir meine Küchenuhr gezeigt.
Problem ist, wenn mehr als die im Plugin zu befüllenden feldvariablen zu befüllen ist. Dynamisch wechselnde Inhalte, geht meines Wissens nicht an jedem Display. (Kann aber sein das sich da inzwischen was geändert hat, oder es gibt ein Hack .... wer weis.)

Mein Versuch, die Daten auf einem Unit per Dummy funktioniert soweit. Im Log des Unit mit LED Display steht:
Event: Dummy_Unterstand#Oben=17,4

Mit LCD,4,1,[Dummy_Unterstand#Oben] kommt nix im LCD an.

Ich hatte gehofft das Event mit value bekannt sind.

parabacus

Hallo!

Auch wenn dieser Beitrag schon ein paar Tage alt ist - er passt genau zu meinem Problem, daher häng ich mich mal dran.

Ich hab bei meinem aktuellen Projekt zwei WEMOS D1 laufen - einer als Füllstandssensor für die Zisterne und ein zweiter soll den Füllstand visualisieren. Dafür hätte ich mir vorgestellt, dass das per P2P funktionieren soll - also mal ohne FHEM als Gateway.
Soweit tut das ganz auch - beide haben eine eindeutige Unit-Nr., auf beiden ist der selbe UDP-Port konfiguriert, der P2P-Controller aktiviert und auf dem Empfangs-WEMOS werden die Tasks auch automatisch generiert, sowie auch die Werte angezeigt, die auf der Sensor-Seite gemessen und zyklisch gesendet werden. Damit hatte ich schon erwartet am Ziel zu sein... - aber....

Auf der Empfangs-Seite möchte ich nun per Rules-Code den empfangenen Status (ein Generic - Dummy Device), der mir den Füllstand in Werten zw. 0..10 prozentual in 10%-Schritten übermittelt, z.B. mittels LEDs anzeigen. Zuerst mal grobgranular in 20%-Schritten, später vielleicht auch über ein Display.

Sinngemäss und nicht vollständig ungefähr so:

on System#Boot do // alle LEDS aus, init. Debug-Variable
gpio,0,0
gpio,2,0
gpio,12,0
gpio,13,0
gpio,14,0
TaskValueSet 4,1,255
endon

On Zisterne#ZisternenStatus do // Status 0 = Leer / 10 = Voll

if [Zisterne#ZisternenStatus]=0
gpio,0,0          // rote   LED    aus
gpio,2,0          // gelbe  LED    aus
gpio,12,0         // gelbe  LED    aus
gpio,13,0         // gruene LED    aus
gpio,14,0         // gruene LED    aus
TaskValueSet 4,1,0 // Debuginfo
endif

if [Zisterne#ZisternenStatus]=1 or [Zisterne#ZisternenStatus]=2
gpio,0,1          // rote   LED    an
gpio,2,0          // gelbe  LED    aus
gpio,12,0         // gelbe  LED    aus
gpio,13,0         // gruene LED    aus
gpio,14,0         // gruene LED    aus
TaskValueSet 4,1,1 // Debuginfo
endif

if [Zisterne#ZisternenStatus]=3 or [Zisterne#ZisternenStatus]=4
gpio,0,1          // rote   LED    an
gpio,2,1          // gelbe  LED    an
gpio,12,0         // gelbe  LED    aus
gpio,13,0         // gruene LED    aus
gpio,14,0         // gruene LED    aus
TaskValueSet 4,1,2 // Debuginfo
endif

endon


Zisterne#ZisternenStatus ist das Event, das zyklisch aktualisiert wird und enthält je nach Füllstand einen Wert 0..10 - funktioniert auf der Senderseite und im Log auf der Empfängerseite sehe ich das auch.

Irgendwie funktioniert das aber nicht. Die Variable in Task 4 habe ich als Debug-Info eingebaut und egal was ich mache oder der Sender überträgt - der Wert bleibt immer 255 - also passiert nach der Initialisierung nichts - also auch keine Auswertung - sprich der Event, um die if-else-Anweisungen auszuführen, wird nie durchlaufen.

Dass die Werte aktualisiert werden, sehe ich aber im Log auf Empfängerseite:
365801: EVENT: Zisterne#ZisternenStatus=6.00
366005: EVENT: Zisterne#=0.00
366064: EVENT: Zisterne#=0.00
366122: EVENT: Zisterne#=0.00
370550: EVENT: Fuellstand_Zisterne#Fuellstand=118.54
371020: EVENT: Zisterne#ZisternenStatus=6.00
371224: EVENT: Zisterne#=0.00
371289: EVENT: Zisterne#=0.00
371348: EVENT: Zisterne#=0.00
371537: EVENT: Fuellstand_Zisterne_Liter#Liter=1996.15
371571: EVENT: Fuellstand_Zisterne_Liter#=0.00
371630: EVENT: Fuellstand_Zisterne_Liter#=0.00
371691: EVENT: Fuellstand_Zisterne_Liter#=0.00
375185: BME280 : Humidity: 39.10
375185: BME280 : Barometric Pressure: 1020.87
375186: EVENT: Gartenhaus#Temperatur=21.18
375246: EVENT: Gartenhaus#Luftfeuchtigkeit=39.10
375329: EVENT: Gartenhaus#Druck=1020.87
375800: EVENT: Zisterne#ZisternenStatus=6.00
376008: EVENT: Zisterne#=0.00
376068: EVENT: Zisterne#=0.00
376128: EVENT: Zisterne#=0.00
380552: EVENT: Fuellstand_Zisterne#Fuellstand=118.49
381023: EVENT: Zisterne#ZisternenStatus=6.00
381228: EVENT: Zisterne#=0.00
381288: EVENT: Zisterne#=0.00
381348: EVENT: Zisterne#=0.00
381542: EVENT: Fuellstand_Zisterne_Liter#Liter=1965.44
381575: EVENT: Fuellstand_Zisterne_Liter#=0.00
381634: EVENT: Fuellstand_Zisterne_Liter#=0.00
381694: EVENT: Fuellstand_Zisterne_Liter#=0.00
385794: EVENT: Zisterne#ZisternenStatus=6.00
386000: EVENT: Zisterne#=0.00
386059: EVENT: Zisterne#=0.00
386123: EVENT: Zisterne#=0.00


Hat jemand eine Ahnung, wie man die übertragenen Werte in den Rules verwenden kann - gibt's da einen Trick?
Stiebel Eltron LWZ 504 / FHEM auf Rasperry Pi 3 / THZ / Weather / TABLETUI / SB_SERVER / SB_PLAYER  / OBIS / Verkehrsinfo / speedtest / Presence / FRITZ / ZWDongle / ZWAVE / Calendar / CALVIEW/ IPCAM/ ABFALL / ESPEasy

parabacus

Stiebel Eltron LWZ 504 / FHEM auf Rasperry Pi 3 / THZ / Weather / TABLETUI / SB_SERVER / SB_PLAYER  / OBIS / Verkehrsinfo / speedtest / Presence / FRITZ / ZWDongle / ZWAVE / Calendar / CALVIEW/ IPCAM/ ABFALL / ESPEasy