[erledigt] Tasmota mit Display soll Daten von anderen MQTT Devices anzeigen -

Begonnen von matze1999, 15 Dezember 2021, 11:28:06

Vorheriges Thema - Nächstes Thema

matze1999

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




Beta-User

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

matze1999

ja, da habe ich nachgesehen:

die commandref trifft wohl nicht zu oder das ist ein anderes Setlist setlist
im wiki findet man auch rudimenrtäre Informationen: 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


Beta-User

help MQTT2_DEVICE

Deine Links bezogen sich auf dummy. Der hat in der Regel nichts mit MQTT zu tun...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors


Beta-User

...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) :) .
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

matze1999

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 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

Beta-User

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, 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!)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

matze1999

@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

Beta-User

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).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

rudolfkoenig

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".

matze1999

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