FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Nielsiwilsi am 28 Dezember 2018, 22:33:12

Titel: (gelöst) Einfache notify Frage
Beitrag von: Nielsiwilsi am 28 Dezember 2018, 22:33:12
Hi,
ich weiß das ist eins der einfachsten Problemen, aber ich hab das notify immer noch nicht kapiert und habs immer mit doif umschifft.

Was ich möchte ist, bei Änderung den Wert des Reading Pos aus 02_Eltern_Rollo_West auf den state des Device 02_Eltern_Rollo_Dach zu schreiben. So das das Rollo_Dach immer die gleiche Pos hat wie das Rollo_West. Leider wird der state nicht aktualisiert, sondern Pos, wenn man am Schalter drückt.

defmod 02_Eltern_Rollo_West MQTT_DEVICE
attr 02_Eltern_Rollo_West IODev myBroker
attr 02_Eltern_Rollo_West devStateIcon 0:fts_shutter_100 10:fts_shutter_90 20:fts_shutter_80 30:fts_shutter_70 40:fts_shutter_60 50:fts_shutter_50 60:fts_shutter_40 70:fts_shutter_30 80:fts_shutter_20 90:fts_shutter_10 100:fts_shutter_10
attr 02_Eltern_Rollo_West publishSet 0 10 20 30 40 50 60 70 80 90 100 shellies/shellyswitch-654321/roller/0/command/pos
attr 02_Eltern_Rollo_West room DG_Eltern
attr 02_Eltern_Rollo_West subscribeReading_Energy shellies/shellyswitch-654321/relay/energy
attr 02_Eltern_Rollo_West subscribeReading_Pos shellies/shellyswitch-654321/roller/0/pos
attr 02_Eltern_Rollo_West subscribeReading_Power shellies/shellyswitch-654321/relay/power
attr 02_Eltern_Rollo_West subscribeReading_Status shellies/shellyswitch-654321/roller/0
attr 02_Eltern_Rollo_West webCmd 0:50:100

setstate 02_Eltern_Rollo_West 0
setstate 02_Eltern_Rollo_West 2018-12-28 22:16:38 Pos 0
setstate 02_Eltern_Rollo_West 2018-12-28 22:16:38 Power 0.00
setstate 02_Eltern_Rollo_West 2018-12-28 22:16:38 Status stop
setstate 02_Eltern_Rollo_West 2018-12-28 22:16:30 state 0
setstate 02_Eltern_Rollo_West 2018-12-28 22:16:38 transmission-state incoming publish received


defmod 02_Eltern_Rollo_Dach MQTT_DEVICE
attr 02_Eltern_Rollo_Dach IODev myBroker
attr 02_Eltern_Rollo_Dach devStateIcon 0:fts_shutter_100 10:fts_shutter_90 20:fts_shutter_80 30:fts_shutter_70 40:fts_shutter_60 50:fts_shutter_50 60:fts_shutter_40 70:fts_shutter_30 80:fts_shutter_20 90:fts_shutter_10 100:fts_shutter_10
attr 02_Eltern_Rollo_Dach publishSet 0 10 20 30 40 50 60 70 80 90 100 shellies/shellyswitch-123456/roller/0/command/pos
attr 02_Eltern_Rollo_Dach room DG_Eltern
attr 02_Eltern_Rollo_Dach subscribeReading_Energy shellies/shellyswitch-123456/relay/energy
attr 02_Eltern_Rollo_Dach subscribeReading_Pos shellies/shellyswitch-123456/roller/0/pos
attr 02_Eltern_Rollo_Dach subscribeReading_Power shellies/shellyswitch-123456/relay/power
attr 02_Eltern_Rollo_Dach subscribeReading_Status shellies/shellyswitch-123456/roller/0
attr 02_Eltern_Rollo_Dach webCmd 0:50:100

setstate 02_Eltern_Rollo_Dach 0
setstate 02_Eltern_Rollo_Dach 2018-12-28 22:15:42 Pos 0
setstate 02_Eltern_Rollo_Dach 2018-12-28 22:17:51 Power 0.00
setstate 02_Eltern_Rollo_Dach 2018-12-28 22:15:42 Status stop
setstate 02_Eltern_Rollo_Dach 2018-12-28 22:15:38 state 0
setstate 02_Eltern_Rollo_Dach 2018-12-28 22:17:51 transmission-state incoming publish received


Danke für kurze Erleuchtung,
Niels
Titel: Antw:Einfache notify Frage
Beitrag von: Otto123 am 28 Dezember 2018, 22:47:55
Hallo Niels,

ich verstehe nicht genau ob das geht was Du willst. Aber zwei Tipps:
Mit dem Eventmonitor das notify anlegen lassen
https://wiki.fhem.de/wiki/Event_monitor
Dann den Befehl ins notify setzen und testen.
https://wiki.fhem.de/wiki/Notify

Die konkrete Zahl im notify regExp durch .* ersetzen.

Gruß Otto
Titel: Antw:Einfache notify Frage
Beitrag von: Nielsiwilsi am 29 Dezember 2018, 11:09:48
Hi Otto,

danke, wieder was gelernt mit dem Event Monitor. Aber mit dem notify ist mir total nicht klar wie es Funktionieren kann....

2018-12-29 10:59:27.541 MQTT_DEVICE 02_Eltern_Rollo_West 100
2018-12-29 10:59:27.542 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: outgoing publish sent
2018-12-29 10:59:27.772 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:27.773 MQTT_DEVICE 02_Eltern_Rollo_West Status: open
2018-12-29 10:59:28.283 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:28.283 MQTT_DEVICE 02_Eltern_Rollo_West Power: 54.62
2018-12-29 10:59:28.361 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:28.362 MQTT_DEVICE 02_Eltern_Rollo_West Power: 95.18
2018-12-29 10:59:46.118 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:46.120 MQTT_DEVICE 02_Eltern_Rollo_West Power: 52.20
2018-12-29 10:59:46.205 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:46.207 MQTT_DEVICE 02_Eltern_Rollo_West Pos: 100
2018-12-29 10:59:46.209 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:46.211 MQTT_DEVICE 02_Eltern_Rollo_West Power: 0.00
2018-12-29 10:59:46.226 MQTT_DEVICE 02_Eltern_Rollo_West transmission-state: incoming publish received
2018-12-29 10:59:46.228 MQTT_DEVICE 02_Eltern_Rollo_West Status: stop


Der Wert 100 aus "2018-12-29 10:59:46.207 MQTT_DEVICE 02_Eltern_Rollo_West Pos: 100" muss jetzt per set 02_Eltern_Rollo_Dach 100 auf das andere Device.
Wenn da zB ne 32 kommt, soll auch 32 übertragen werden.

Danke
Niels
Titel: Antw:Einfache notify Frage
Beitrag von: CoolTux am 29 Dezember 2018, 11:15:52

02_Eltern_Rollo_West:Pos:.* set 02_Eltern_Rollo_Dach $EVTPART1

Achtung das ist nur ein Teil der Definition des Notify.
Titel: Antw:Einfache notify Frage
Beitrag von: Otto123 am 29 Dezember 2018, 11:18:22
Cooltux war schneller :)

Ich wollte sagen: Markiere diese Zeile:2018-12-29 10:59:46.207 MQTT_DEVICE 02_Eltern_Rollo_West Pos: 100Erzeuge das notify und ersetze dann .100 durch .*

Cooltux hat auch gleich den Rest gemacht, der ist immer so ungeduldig  ;D

Gruß Otto
Titel: Antw:Einfache notify Frage
Beitrag von: Paul am 29 Dezember 2018, 11:18:33
Dann die Zeile 2018-12-29 10:59:46.207 MQTT_DEVICE 02_Eltern_Rollo_West Pos: 100

im Eventmonitor markieren und auf Create Device klicken.

Dann wie Otto schrieb die Zahl durch .* ersetzen und den Befehl setzen.
Titel: Antw:Einfache notify Frage
Beitrag von: CoolTux am 29 Dezember 2018, 11:25:28
Zitat von: Otto123 am 29 Dezember 2018, 11:18:22
Cooltux war schneller :)

Ich wollte sagen: Markiere diese Zeile:2018-12-29 10:59:46.207 MQTT_DEVICE 02_Eltern_Rollo_West Pos: 100Erzeuge das notify und ersetze dann .100 durch .*

Cooltux hat auch gleich den Rest gemacht, der ist immer so ungeduldig  ;D

Gruß Otto

;D sorry Otto. Step bei Step lernt man natürlich deutlich besser da gebe ich Dir Recht.
Meine Empfehlung an Niels. Probiere Dich bezüglich Notify und Regex ruhig aus. Mit der Zeit bekommt man ein Gefühl dafür.


Grüße
Titel: Antw:Einfache notify Frage
Beitrag von: Nielsiwilsi am 29 Dezember 2018, 11:33:03
Besten Dank an euch. Klappt, ihr seid super!

VG
Niels