Hallo,
ichbenötige mal einen anschubser, um die richtige Richtung zu bekommen.
Das Display liegt so in FHEM vor:
Internals:
CFGFN
CID DVES_D0DD09
DEF DVES_D0DD09
DEVICETOPIC MQTT2_DVES_D0DD09
FUUID 61b9ba9e-f33f-214e-033b-17a43c6060fab734
IODev myBroker
LASTInputDev myBroker
MSGCNT 228
NAME MQTT2_DVES_D0DD09
NR 724
STATE ???
TYPE MQTT2_DEVICE
myBroker_CONN myBroker_192.168.1.235_61371
myBroker_MSGCNT 228
myBroker_TIME 2021-12-15 11:24:09
READINGS:
2021-12-15 11:18:02 Command Error
2021-12-15 11:14:06 DisplayAddress1 39
2021-12-15 11:16:03 DisplayCols1 20
2021-12-15 11:13:27 DisplayMode 0
2021-12-15 11:10:29 DisplayModel 1
2021-12-15 11:13:48 DisplayRefresh 2
2021-12-15 11:15:21 DisplayRows 4
2021-12-15 11:19:27 DisplayText [l1c1] Testzeile
2021-12-15 11:24:09 Heap 28
2021-12-15 11:10:05 I2CScan Device(s) found at 0x27
2021-12-15 10:51:26 IODev myBroker
2021-12-15 11:18:02 Info1_FallbackTopic cmnd/DVES_D0DD09_fb/
2021-12-15 11:18:02 Info1_GroupTopic cmnd/tasmotas/
2021-12-15 11:18:02 Info1_Module Generic
2021-12-15 11:18:02 Info1_Version 10.1.0(display)
2021-12-15 11:18:02 Info2_Hostname tasmota-D0DD09-7433
2021-12-15 11:18:02 Info2_IPAddress 192.168.1.235
2021-12-15 11:18:02 Info2_WebServerMode Admin
2021-12-15 11:18:02 Info3_RestartReason Software/System restart
2021-12-15 11:22:36 LWT Online
2021-12-15 11:24:09 LoadAvg 19
2021-12-15 11:24:09 MqttCount 2
2021-12-15 11:24:09 POWER1 on
2021-12-15 11:24:09 Sleep 50
2021-12-15 11:24:09 SleepMode Dynamic
2021-12-15 11:24:09 Time 2021-12-15T11:24:09
2021-12-15 11:24:09 Uptime 0T00:06:12
2021-12-15 11:24:09 UptimeSec 372
2021-12-15 11:24:09 Wifi_AP 1
2021-12-15 11:24:09 Wifi_BSSId DC:39:6F:38:C8:B1
2021-12-15 11:24:09 Wifi_Channel 5
2021-12-15 11:24:09 Wifi_Downtime 0T00:00:03
2021-12-15 11:24:09 Wifi_LinkCount 1
2021-12-15 11:24:09 Wifi_Mode 11n
2021-12-15 11:24:09 Wifi_RSSI 74
2021-12-15 11:24:09 Wifi_SSId alfmatz
2021-12-15 11:24:09 Wifi_Signal -63
2021-12-15 11:22:36 btn_1 0
2021-12-15 11:22:36 btn_2 0
2021-12-15 11:22:36 btn_3 0
2021-12-15 11:22:36 btn_4 0
2021-12-15 11:22:36 btn_5 0
2021-12-15 11:22:36 btn_6 0
2021-12-15 11:22:36 btn_7 0
2021-12-15 11:22:36 btn_8 0
2021-12-15 11:22:36 dn Wetterstation-Display
2021-12-15 11:22:36 fn_1 Wetterstation-Display
2021-12-15 11:22:36 ft %prefix%/%topic%/
2021-12-15 11:22:36 hn tasmota-D0DD09-7433
2021-12-15 11:22:36 if 0
2021-12-15 11:22:36 ip 192.168.1.235
2021-12-15 11:22:36 lk 0
2021-12-15 11:22:36 lt_st 0
2021-12-15 11:22:36 mac F4CFA2D0DD09
2021-12-15 11:22:36 md Generic
2021-12-15 11:22:36 ofln Offline
2021-12-15 11:22:36 onln Online
2021-12-15 11:22:36 rl_1 1
2021-12-15 11:22:36 rl_2 0
2021-12-15 11:22:36 rl_3 0
2021-12-15 11:22:36 rl_4 0
2021-12-15 11:22:36 rl_5 0
2021-12-15 11:22:36 rl_6 0
2021-12-15 11:22:36 rl_7 0
2021-12-15 11:22:36 rl_8 0
2021-12-15 11:22:36 sho_1 0
2021-12-15 11:22:36 sho_2 0
2021-12-15 11:22:36 sho_3 0
2021-12-15 11:22:36 sho_4 0
2021-12-15 11:22:36 sn_Time 2021-12-15T11:22:36
2021-12-15 11:22:36 so_11 0
2021-12-15 11:22:36 so_114 0
2021-12-15 11:22:36 so_117 0
2021-12-15 11:22:36 so_13 0
2021-12-15 11:22:36 so_17 0
2021-12-15 11:22:36 so_20 0
2021-12-15 11:22:36 so_30 0
2021-12-15 11:22:36 so_4 0
2021-12-15 11:22:36 so_68 0
2021-12-15 11:22:36 so_73 0
2021-12-15 11:22:36 so_82 0
2021-12-15 11:22:36 state_1 off
2021-12-15 11:22:36 state_2 on
2021-12-15 11:22:36 state_3 toggle
2021-12-15 11:22:36 state_4 hold
2021-12-15 11:22:36 sw 10.1.0
2021-12-15 11:22:36 swc_1 -1
2021-12-15 11:22:36 swc_2 -1
2021-12-15 11:22:36 swc_3 -1
2021-12-15 11:22:36 swc_4 -1
2021-12-15 11:22:36 swc_5 -1
2021-12-15 11:22:36 swc_6 -1
2021-12-15 11:22:36 swc_7 -1
2021-12-15 11:22:36 swc_8 -1
2021-12-15 11:22:36 t tasmota_D0DD09
2021-12-15 11:22:36 tp_1 cmnd
2021-12-15 11:22:36 tp_2 stat
2021-12-15 11:22:36 tp_3 tele
2021-12-15 11:22:36 ty 0
2021-12-15 11:22:36 ver 1
Attributes:
alias MQTT2_DVES_D0DD09
readingList DVES_D0DD09:tele/tasmota_D0DD09/LWT:.* LWT
DVES_D0DD09:tele/tasmota_D0DD09/INFO1:.* { json2nameValue($EVENT) }
DVES_D0DD09:tele/tasmota_D0DD09/INFO2:.* { json2nameValue($EVENT) }
DVES_D0DD09:tele/tasmota_D0DD09/INFO3:.* { json2nameValue($EVENT) }
DVES_D0DD09:stat/tasmota_D0DD09/RESULT:.* { json2nameValue($EVENT) }
DVES_D0DD09:stat/tasmota_D0DD09/POWER1:.* POWER1
DVES_D0DD09:tele/tasmota_D0DD09/STATE:.* { json2nameValue($EVENT) }
DVES_D0DD09:tasmota/discovery/F4CFA2D0DD09/config:.* { json2nameValue($EVENT) }
DVES_D0DD09:tasmota/discovery/F4CFA2D0DD09/sensors:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
Ich möchte das display an/ausschalten (geht wenn ich als Template Tasmota Basic auswähle, und ich möchte Text zum display senden
cmnd/DVES_D0DD09/displaytext [l1c1] Test
da kommt aber eine Fehlermeldung:
Unknown command cmnd/DVES_D0DD09/displaytext, try help.
dann versucht:
attr MQTT2_DVES_D0DD09 publishSet text cmnd/DVES_D0DD09/DisplayText
kommt:
MQTT2_DVES_D0DD09: unknown attribute publishSet. Type 'attr MQTT2_DVES_D0DD09 ?' for a detailed list.
und jetzt komme ich nicht weiter.
matze1999
Dir ist aber schon bekannt, dass die grundlegende Doku zu jedem Modul in der commandref zu finden ist?
Dein Suchwort heißt "setList", und eine Vielzahl von Beispielen (auch mit beliebigem Input, der weitergegeben wird) findest du in https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/lib/AttrTemplate/mqtt2.template.
ja, da habe ich nachgesehen:
die commandref trifft wohl nicht zu oder das ist ein anderes Setlist setlist (https://fhem.de/commandref_DE.html#setList)
im wiki findet man auch rudimenrtäre Informationen: SetList (https://wiki.fhem.de/wiki/SetList)
ich habs mit der im wiki gezeigten Syntax versucht:
attr MQTT2_DVES_D0DD09 setList :DisplayText
aber da kam nur der Fehler:
MQTT2_DVES_D0DD09 attr setList: more parameters needed
Das hat sicherlich mit den Parametern in displayText [l1c1] (schreibe ab Line 1 und Column 1) zu tun, aber da fehlt mir der Zugang, wie ich das mit setlist übergebe.
matze1999
help MQTT2_DEVICE
Deine Links bezogen sich auf dummy. Der hat in der Regel nichts mit MQTT zu tun...
Zitat von: Beta-User am 15 Dezember 2021, 13:51:39
help MQTT2_DEVICE
das wars, vielen dank, jetzt klappt es.
matze1999
...ok...
Aber auch, wenn du das jetzt auf [erledigt] gesetzt hast: Magst du mal bei Gelegenheit zeigen, wie deine finale Lösung aussieht?
Es gibt nämlich mehrere Möglichkeiten, wie man das konkret umsetzt, und du warst bei weitem nicht der erste mit so einer Frage ;) .
Optimal wäre der komplette Weg vom Zusammensuchen der darzustellenden Info über das Zuordnen zur Anzeigeposition und dem finalen Senden (bei MQTT2_DEVICE dann über einen set-Befehl, der ja auch wieder zur setList passen muss) :) .
na klar:
es handelt sich um folgendes Display:
GeeekPi IIC/I2C 2004 20x4 Character LCD Module Display, Support I2C
ich kann jetzt in jede Zeile schreiben, und das Display löschen, sowie die Beleuchtung ausschalten.
Internals:
CFGFN
CID DVES_D0DD09
DEF DVES_D0DD09
DEVICETOPIC MQTT2_DVES_D0DD09
FUUID 61b9ba9e-f33f-214e-033b-17a43c6060fab734
IODev myBroker
LASTInputDev myBroker
MSGCNT 1749
NAME MQTT2_DVES_D0DD09
NR 724
STATE Zeile3
TYPE MQTT2_DEVICE
myBroker_CONN myBroker_192.168.1.235_56471
myBroker_MSGCNT 1749
myBroker_TIME 2021-12-15 18:09:23
READINGS:
2021-12-15 16:38:29 Command Error
2021-12-15 11:14:06 DisplayAddress1 39
2021-12-15 11:16:03 DisplayCols1 20
2021-12-15 11:13:27 DisplayMode 0
2021-12-15 11:10:29 DisplayModel 1
2021-12-15 11:13:48 DisplayRefresh 2
2021-12-15 11:15:21 DisplayRows 4
2021-12-15 18:00:05 DisplayText [l3c1] Druck 1019.5hPa
2021-12-15 18:09:23 Heap 30
2021-12-15 11:10:05 I2CScan Device(s) found at 0x27
2021-12-15 10:51:26 IODev myBroker
2021-12-15 16:38:29 Info1_FallbackTopic cmnd/DVES_D0DD09_fb/
2021-12-15 16:38:29 Info1_GroupTopic cmnd/tasmotas/
2021-12-15 16:38:29 Info1_Module Generic
2021-12-15 16:38:29 Info1_Version 10.1.0(display)
2021-12-15 16:38:29 Info2_Hostname tasmota-D0DD09-7433
2021-12-15 16:38:29 Info2_IPAddress 192.168.1.235
2021-12-15 16:38:29 Info2_WebServerMode Admin
2021-12-15 16:38:29 Info3_RestartReason Power On
2021-12-15 16:38:29 LWT Online
2021-12-15 18:09:23 LoadAvg 19
2021-12-15 18:09:23 MqttCount 1
2021-12-15 18:09:23 POWER1 on
2021-12-15 18:09:23 Sleep 50
2021-12-15 18:09:23 SleepMode Dynamic
2021-12-15 18:09:23 Time 2021-12-15T18:09:23
2021-12-15 18:09:23 Uptime 0T01:30:59
2021-12-15 18:09:23 UptimeSec 5459
2021-12-15 18:09:23 Wifi_AP 1
2021-12-15 18:09:23 Wifi_BSSId DC:39:6F:38:C8:B1
2021-12-15 18:09:23 Wifi_Channel 5
2021-12-15 18:09:23 Wifi_Downtime 0T00:00:03
2021-12-15 18:09:23 Wifi_LinkCount 1
2021-12-15 18:09:23 Wifi_Mode 11n
2021-12-15 18:09:23 Wifi_RSSI 66
2021-12-15 18:09:23 Wifi_SSId alfmatz
2021-12-15 18:09:23 Wifi_Signal -67
2021-12-15 16:38:38 btn_1 0
2021-12-15 16:38:38 btn_2 0
2021-12-15 16:38:38 btn_3 0
2021-12-15 16:38:38 btn_4 0
2021-12-15 16:38:38 btn_5 0
2021-12-15 16:38:38 btn_6 0
2021-12-15 16:38:38 btn_7 0
2021-12-15 16:38:38 btn_8 0
2021-12-15 16:38:38 dn Wetterstation-Display
2021-12-15 16:38:38 fn_1 Wetterstation-Display
2021-12-15 16:38:38 ft %prefix%/%topic%/
2021-12-15 16:38:38 hn tasmota-D0DD09-7433
2021-12-15 16:38:38 if 0
2021-12-15 16:38:38 ip 192.168.1.235
2021-12-15 16:38:38 lk 0
2021-12-15 16:38:38 lt_st 0
2021-12-15 16:38:38 mac F4CFA2D0DD09
2021-12-15 16:38:38 md Generic
2021-12-15 16:38:38 ofln Offline
2021-12-15 16:38:38 onln Online
2021-12-15 16:38:38 rl_1 1
2021-12-15 16:38:38 rl_2 0Internals:
CFGFN
DEF MQTT2_DVES_6CA8FD:Global_Humidity:.* set MQTT2_DVES_D0DD09 Zeile2 Feuchte $EVTPART1%
FUUID 61b9f899-f33f-214e-5f7c-144fa67f2e06eb16
NAME MQTT2_DVES_6CA8FD_notify_3
NOTIFYDEV MQTT2_DVES_6CA8FD
NR 3912
NTFY_ORDER 50-MQTT2_DVES_6CA8FD_notify_3
REGEXP MQTT2_DVES_6CA8FD:Global_Humidity:.*
STATE 2021-12-15 18:15:05
TRIGGERTIME 1639588505.82927
TYPE notify
READINGS:
2021-12-15 16:30:44 state active
2021-12-15 18:15:05 triggeredByDev MQTT2_DVES_6CA8FD
2021-12-15 18:15:05 triggeredByEvent Global_Humidity: 100.0
Attributes:
alias MQTT2_DVES_6CA8FD_notify_3
2021-12-15 16:38:38 rl_3 0
2021-12-15 16:38:38 rl_4 0
2021-12-15 16:38:38 rl_5 0
2021-12-15 16:38:38 rl_6 0
2021-12-15 16:38:38 rl_7 0
2021-12-15 16:38:38 rl_8 0
2021-12-15 16:38:38 sho_1 0
2021-12-15 16:38:38 sho_2 0
2021-12-15 16:38:38 sho_3 0
2021-12-15 16:38:38 sho_4 0
2021-12-15 16:38:38 sn_Time 2021-12-15T16:38:38
2021-12-15 16:38:38 so_11 0
2021-12-15 16:38:38 so_114 0
2021-12-15 16:38:38 so_117 0
2021-12-15 16:38:38 so_13 0
2021-12-15 16:38:38 so_17 0
2021-12-15 16:38:38 so_20 0
2021-12-15 16:38:38 so_30 0
2021-12-15 16:38:38 so_4 0
2021-12-15 16:38:38 so_68 0
2021-12-15 16:38:38 so_73 0
2021-12-15 16:38:38 so_82 0
2021-12-15 18:00:04 state Zeile3
2021-12-15 16:38:38 state_1 off
2021-12-15 16:38:38 state_2 on
2021-12-15 16:38:38 state_3 toggle
2021-12-15 16:38:38 state_4 hold
2021-12-15 16:38:38 sw 10.1.0
2021-12-15 16:38:38 swc_1 -1
2021-12-15 16:38:38 swc_2 -1
2021-12-15 16:38:38 swc_3 -1
2021-12-15 16:38:38 swc_4 -1
2021-12-15 16:38:38 swc_5 -1
2021-12-15 16:38:38 swc_6 -1
2021-12-15 16:38:38 swc_7 -1
2021-12-15 16:38:38 swc_8 -1
2021-12-15 16:38:38 t tasmota_D0DD09
2021-12-15 16:38:38 tp_1 cmnd
2021-12-15 16:38:38 tp_2 stat
2021-12-15 16:38:38 tp_3 tele
2021-12-15 16:38:38 ty 0
2021-12-15 16:38:38 ver 1
Attributes:
alias Wetteranzeige
readingList DVES_D0DD09:tele/tasmota_D0DD09/LWT:.* LWT
DVES_D0DD09:tele/tasmota_D0DD09/INFO1:.* { json2nameValue($EVENT) }
DVES_D0DD09:tele/tasmota_D0DD09/INFO2:.* { json2nameValue($EVENT) }
DVES_D0DD09:tele/tasmota_D0DD09/INFO3:.* { json2nameValue($EVENT) }
DVES_D0DD09:stat/tasmota_D0DD09/RESULT:.* { json2nameValue($EVENT) }
DVES_D0DD09:stat/tasmota_D0DD09/POWER1:.* POWER1
DVES_D0DD09:tele/tasmota_D0DD09/STATE:.* { json2nameValue($EVENT) }
DVES_D0DD09:tasmota/discovery/F4CFA2D0DD09/config:.* { json2nameValue($EVENT) }
DVES_D0DD09:tasmota/discovery/F4CFA2D0DD09/sensors:.* { json2nameValue($EVENT) }
room MQTT2_DEVICE
setList Zeile1 cmnd/tasmota_D0DD09/DisplayText [l1c1]
Zeile2 cmnd/tasmota_D0DD09/DisplayText [l2c1]
Zeile3 cmnd/tasmota_D0DD09/DisplayText [l3c1]
Zeile4 cmnd/tasmota_D0DD09/DisplayText [l4c1]
löschen:noArg cmnd/tasmota_D0DD09/DisplayText [z]
on:noArg cmnd/tasmota_D0DD09/Power1 on
off:noArg cmnd/tasmota_D0DD09/Power1 off
toggle:noArg cmnd/tasmota_D0DD09/Power1 2
ein Problem gibt es noch, es gelingt mir nicht, dass die Schrift auf dem Display ganz links anfängt (das ist aber schon bekannt, die Lösung (https://github.com/arendst/Tasmota/issues/7387) funktioniert für mich aber nicht)
und dann noch eine zweite sache, die nichts mit dem Display zu tun hat, aber mit den Daten die ich darauf darstellen möchte. Z.Zt. habe ich 4 notifys, das erste löscht das display und die anderen schreiben werte in die Zeilen. Das kann man sicher eleganter machen, aber ich habs nicht huinbekommen die Readings so zusammenzustellen, dass ich sie mit einem notify in das Dispaly schreiben kann.
hier mal die notifys.
Internals:
CFGFN
DEF MQTT2_DVES_6CA8FD:Global_Temperature:.* set MQTT2_DVES_D0DD09 Zeile1 Temperatur $EVTPART1C
FUUID 61b9f199-f33f-214e-04ea-79e63105853628cf
NAME MQTT2_DVES_6CA8FD_notify_2
NOTIFYDEV MQTT2_DVES_6CA8FD
NR 3529
NTFY_ORDER 50-MQTT2_DVES_6CA8FD_notify_2
REGEXP MQTT2_DVES_6CA8FD:Global_Temperature:.*
STATE 2021-12-15 18:15:05
TRIGGERTIME 1639588505.82263
TYPE notify
READINGS:
2021-12-15 15:23:07 state active
2021-12-15 18:15:05 triggeredByDev MQTT2_DVES_6CA8FD
2021-12-15 18:15:05 triggeredByEvent Global_Temperature: 7.4
Attributes:
alias MQTT2_DVES_6CA8FD_notify_2
Internals:
CFGFN
DEF MQTT2_DVES_6CA8FD:Global_Humidity:.* set MQTT2_DVES_D0DD09 Zeile2 Feuchte $EVTPART1%
FUUID 61b9f899-f33f-214e-5f7c-144fa67f2e06eb16
NAME MQTT2_DVES_6CA8FD_notify_3
NOTIFYDEV MQTT2_DVES_6CA8FD
NR 3912
NTFY_ORDER 50-MQTT2_DVES_6CA8FD_notify_3
REGEXP MQTT2_DVES_6CA8FD:Global_Humidity:.*
STATE 2021-12-15 18:15:05
TRIGGERTIME 1639588505.82927
TYPE notify
READINGS:
2021-12-15 16:30:44 state active
2021-12-15 18:15:05 triggeredByDev MQTT2_DVES_6CA8FD
2021-12-15 18:15:05 triggeredByEvent Global_Humidity: 100.0
Attributes:
alias MQTT2_DVES_6CA8FD_notify_3
ach noch eins,. ich würde gern die Uhrzeit ständig einblenden, aber das bekomme ich nicht hin, wenn ich z.B. als Text $hms eingebe erscheint auch "$hms" auf dem Display.
matze1999
Vorab:
Bitte im MQTT-Bereich tendenziell RAW-Definitionen posten. Da kann man als Helfer leichter copy-paste verwenden, so mußt du dich mit theoretischen Erwägungen begnügen und das ggf. selbst umsetzen...
Zitat von: matze1999 am 15 Dezember 2021, 18:23:57
ich kann jetzt in jede Zeile schreiben, und das Display löschen, sowie die Beleuchtung ausschalten.
Schön. Würde aber empfehlen, die setter "internationalisiert" zu benennen, also "clear" statt "löschen". (Anleihen vielleicht bei den CUL_HM-Displays). Dann kann man eher generischen Code zum Füllen von Displays teilen...
Für die Zeilen hätte ich folgenden Vorschlag:
line2:textField { my $payload = $EVENT;$payload =~ s/$EVTPART0 //g; qq(cmnd/tasmota_D0DD09/DisplayText [l2c1]$payload)}
Zitat
und dann noch eine zweite sache, die nichts mit dem Display zu tun hat, aber mit den Daten die ich darauf darstellen möchte. Z.Zt. habe ich 4 notifys, das erste löscht das display und die anderen schreiben werte in die Zeilen. Das kann man sicher eleganter machen, aber ich habs nicht huinbekommen die Readings so zusammenzustellen, dass ich sie mit einem notify in das Dispaly schreiben kann.
[...]
ach noch eins,. ich würde gern die Uhrzeit ständig einblenden, aber das bekomme ich nicht hin, wenn ich z.B. als Text $hms eingebe erscheint auch "$hms" auf dem Display.
...daher meine Zwischenfrage...
Du willst also z.B. eigentlich alle Minute einen kompletten Refresh des Displays machen. Sowas kann man entweder mit einem periodicCmd erreichen (als Beispiel dazu würde ich auf das attrTemplate OpenMQTTGateway_BT_scanner verweisen), was aber den Nachteil hat, dass es "irgendwann innerhalb eines Minutenzeitraums" ausgeführt würde (und ansonsten gleich zu stricken wäre wie die Lösung mit (z.B.) at).
Mein Vorschlag wäre daher: du nimmst ein (einziges) "alignTime"-at (https://fhem.de/commandref_modular.html#at), das immer zu jeder vollen Minute dein komplettes Display erst löscht und dann mit den "gesammelten Werten" füllt. Ich würde das mit etwas Perlcode lösen, der dann auch berücksichtigt, ob die Messdaten nicht veraltet sind usw..
PS:
Falls jemand hier mitliest, den die übrigen Lösungsmöglichkeiten (ohne Uhrzeit) interessieren:
- Man kann natürlich auch z.B. ein/mehrere notify nehmen (reagierend auf die Messwerte) und sich den Umweg über das MQTT2_DEVICE sparen und direkt publishen;
- oder eine MQTT_GENERIC_BRIDGE verwenden, und dann die Messwerte entsprechend vorformatiert über diese abgreifen, aufbereiten und versenden. Setzt voraus, dass diese denselben MQTT-Server verwendet, und man kann das auch zusätzlich zum Versenden an einen anderen Topic machen, indem man "das Aufrufezeichen" verwendet...
(@matze1999: nicht unser Kernthema, bitte ignorieren!)
@Beta-User
vielen Dank! Ich werde das evtl. noch mal überarbeiten und dann hier als RAW mit internationalen Bezeichnungen posten.
Mittlerweile habe ich statt der 4 notify ein DOIF mit allem drin. Meine Wetterstation erwacht alle 15 Min aus dem DeepStandby und sendet die Daten, deshalb brauche ich kein at sondern nehme einfach "online" als trigger
Eines habe ich aber nicht hinbekommen, ich möchte die Uhrzeit des letzten Einschreibens im Display auf der 4. Zeile anzeigen lassen, ich bekomme aber nicht hin, diesen Wert zu senden.
ich hab das so versucht und auch abgewandelt, und bekomme nie die Zeit sondern immer nur die Zeichenfolge, wahrscheinlich nur ein Problem mit der Syntax.
set MQTT2_DVES_EF41A8 Zeile3 [$hms]
matze1999
DOIF ist mir zu hoch, das kann ich nicht, und ich verstehe auch nicht, warum man mit einem "Einzeltrigger" auf DOIF ausweicht, wenn man schon notify hat. Aber $hms ist halt eine Perl-Variable, und die muss eben der jeweilige "Kontext" "evaluieren" können.
In fhem-Perl (z.B. in notify) könnte dir uU. das hier weiterhelfen, ich weiß aber nicht, was DOIF importiert:
{strftime "%H:%M:%S", localtime}
(EDIT: Das ist zum Testen für das FHEM-Kommandofeld; im Perl-Kontext ohne geschweifte Klammern außenherum).
Laut https://fhem.de/commandref_modular.html#set muss das so lauten:
set MQTT2_DVES_EF41A8 Zeile3 {($hms)}
ZitatFrom featurelevel 5.7 on the set and setreading command replaces:
[device:name] with the reading, internal or attribute of the device, if both device and the reading, internal or attribute exists.
You can use the r:, i: or a: prefix to restrict the search to one type, analogue to the devspec filtering.
The suffix :d retrieves the first number
The suffix :i retrieves the integer part of the first number.
The suffix :r<n> retrieves the first number and rounds it to <n> decimal places. If <n> is missing, then rounds it to one decimal place.
The suffix :t returns the timestamp (works only for readings)
The suffix :sec returns the number of seconds since the reading was set.
Example:
set Lamp blink [blinkDummy:number] [r:blinkDummy:duration:d]
[device:name:d] same as above, but only the number is retrieved
[device:name:sec] same as above, but only the number is retrieved
{(perlExpression)} with the result of perlExpression. The $DEV variable is additionally available, designating the set device name.
These replacements are also known as "set magic".
Hallo,
set MQTT2_DVES_EF41A8 Zeile3 {($hms)}
Das funktioniert! Danke!
Ich hab das jetzt mal so geändert, das es mir die Zeit minütlich ohne Sekunden per at anzeigt:
+*00:01:00 set MQTT2_DVES_EF41A8 Zeile4 {(strftime "%H:%M", localtime)}
Ich hab jetzt auch ein notify statt des DOIF.
Jetzt ist alles so, wie ich es haben möchte.
matze1999