FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Fistandantilus am 26 Januar 2018, 20:24:09

Titel: Reading MQTT Device
Beitrag von: Fistandantilus am 26 Januar 2018, 20:24:09
Hi,

ich habe eine Sonoff Steckdose über MQTT eingebunden. Die Steckdose wird mit ON/OFF geschaltet - Großgeschrieben.
Da alle meinen anderen Devices immer on/off - Kleingeschrieben verwenden, möchte ich das gern anpassen.
Ich habe folgende Attribute verwendet:

eventMap on:ON off:OFF
webCmd on:off

Beim Device hab ich folgendes definiert:

subscribeReading_state cmnd/EG.Wohnzimmer.Stehlampe/1/POWER/set
subscribeReading_state2 stat/EG.Wohnzimmer.Stehlampe/POWER

Grundsätzlich funktioniert das Schalten. Wenn ich innerhalb FHEM schalte, wird state immer mit einem kleinen on/off belegt. Schalte ich am Gerät selbst, wird nur state2 aktualisiert und mit einem großen ON/OFF belegt.

Was ist der einfachste/beste Weg das reading state mit einem Kleingeschriebenen on/off aus dem reading state2 zu aktualisieren? So spontan fällt mir da notify oder doif ein, gibt es aber noch einen schöneren Weg über Attribute? Vielleicht stateformat oder so?

VG
F.
Titel: Antw:Reading MQTT Device
Beitrag von: Amenophis86 am 26 Januar 2018, 20:32:45
stateformat
Titel: Antw:Reading MQTT Device
Beitrag von: Fistandantilus am 26 Januar 2018, 20:38:37
Kannst Du das noch weiter ausführen, mir ist es damit nicht gelungen. Wie ich jetzt lesen habe, funktioniert das auf nur für STATE, also das Listing und nicht für state - das reading oder sehe ich das falsch?
Titel: Antw:Reading MQTT Device
Beitrag von: Amenophis86 am 26 Januar 2018, 20:45:10
Sorry verlesen, dachte du meinst die Anzeige in der Übersicht. ReadingsChange?

Edit:
HALT, das ist es auch nicht. Muss weiter suchen :D

Edit2:
userReadings würde mir jetzt noch einfallen, wobei ich gerade nicht weiß ob das andere Readings überschreiben darf. Musste mal versuchen. Ist für mich zu spät heute zum denken. Sry. Bin jetzt still :D
Titel: Antw:Reading MQTT Device
Beitrag von: Fistandantilus am 26 Januar 2018, 21:13:04
Ich hab noch bissel rumprobiert.
Grundsätzlich funktioniert ja alles. Es ist nur ein Schönheitsfehler, wenn ich intern schalte, werden state, state2 und STATE gesetzt. Wenn ich am Gerät schalte, werden nur state2 und STATE aktualiesiert. state2, weil es das Reading ist und STATE, weil ich "stateFormat state2" verwende.
Wäre halt schön, wenn immer alle 3 den gleichen Status hätten.
Titel: Antw:Reading MQTT Device
Beitrag von: Amenophis86 am 26 Januar 2018, 23:48:50
Poste mal bitte ein List des Device
Titel: Antw:Reading MQTT Device
Beitrag von: Fistandantilus am 28 Januar 2018, 12:06:09
Hier das List:

Internals:
   IODev      myBroker
   NAME       EG.WZ.Stehlampe
   NR         639
   STATE      OFF
   TYPE       MQTT_DEVICE
   Helper:
     DBLOG:
       state:
         logdb:
           TIME       1517091319.90794
           VALUE      off
       state2:
         logdb:
           TIME       1517091321.52294
           VALUE      OFF
       transmission-state:
         logdb:
           TIME       1517091321.48756
           VALUE      incoming publish received
   READINGS:
     2018-01-27 23:15:19   state           off
     2018-01-27 23:15:21   state2          OFF
     2018-01-27 23:15:21   transmission-state incoming publish received
   message_ids:
   publishSets:
     :
       topic      cmnd/EG.Wohnzimmer.Stehlampe/POWER
       values:
         ON
         OFF
   sets:
     OFF       
     ON         
   subscribe:
     cmnd/EG.Wohnzimmer.Stehlampe/1/POWER/set
     stat/EG.Wohnzimmer.Stehlampe/POWER
   subscribeExpr:
     ^cmnd\/EG.Wohnzimmer.Stehlampe\/1\/POWER\/set$
     ^stat\/EG.Wohnzimmer.Stehlampe\/POWER$
   subscribeReadings:
     cmnd/EG.Wohnzimmer.Stehlampe/1/POWER/set:
       cmd       
       name       state
     stat/EG.Wohnzimmer.Stehlampe/POWER:
       cmd       
       name       state2
Attributes:
   IODev      myBroker
   devStateIcon ON:FS20.on OFF:FS20.off
   eventMap   on:ON off:OFF
   group      2: Geräte
   publishSet ON OFF cmnd/EG.Wohnzimmer.Stehlampe/POWER
   room       EG.Wohnzimmer,MQTT
   stateFormat state2
   subscribeReading_state cmnd/EG.Wohnzimmer.Stehlampe/1/POWER/set
   subscribeReading_state2 stat/EG.Wohnzimmer.Stehlampe/POWER
   webCmd     on:off
Titel: Antw:Reading MQTT Device
Beitrag von: Amenophis86 am 28 Januar 2018, 15:32:01
Da wird doch nur ein Gerät mit dem Device geschaltet, wieso hast du dann state und state 2? Was ist der Unterschied der beiden, werde ich gerade nicht schlau draus.
Titel: Antw:Reading MQTT Device
Beitrag von: Fistandantilus am 28 Januar 2018, 16:04:08
Ich hab mich da an die Anleitungen gehalten. Das eine wird soweit ich verstanden habe nur zum lesen des Status verwendet, das andere zum Schreiben.
Titel: Antw:Reading MQTT Device
Beitrag von: Amenophis86 am 28 Januar 2018, 16:11:47
Welche Anleitung? Schau mal ins Wiki bei Sonoff. Gleiches Prinzip ein Reading für alles. Musst natürlich die Topics entsprechend anpassen.
Titel: Antw:Reading MQTT Device
Beitrag von: Fistandantilus am 28 Januar 2018, 22:27:40
Mit dem einen Reading das reicht, da hast Du recht. Ich hatte Bedenken, dass SmartVisu, welches ich als Frontend einsetze nicht mit dem großen ON/OFF klar kommt. Funktioniert aber doch alles :)

Danke, für Deine Hilfe!