FHEM Forum

FHEM - Hausautomations-Systeme => MQTT => Thema gestartet von: Bracew am 23 August 2019, 21:28:00

Titel: [gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: Bracew am 23 August 2019, 21:28:00
Hallo,

ich habe  eine Sonoff S20 und eine OBI Socket 2 Schaltsteckdose je mit Sonoff-Tasmota 6.6.0 geflasht. Beide funktionieren mit FHEM sehr gut. FHEM kann die Steckdosen an und ausschalten. Das jeweilige Symbol für An bzw. Aus wird in FHEM angezeigt (gelbes Birnchen bzw. graues Birnchen). Beim Klick auf das Birnchen Schaltsymbol wird auch zum jeweils anderen Schaltzustand getoggelt.

Leider bekommt FHEM aber nicht mit, wenn an der Steckdose der Gerätetaster betätigt wird.
Dies hat bei beiden Dosen schon mal funktioniert. Nach einem FHEM update in der vorletzen Woche jedoch nicht mehr.

Die Grundkonfiguration habe ich neu aus https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele sinngemäß übernommen und wie folgt in fhem.cfg:

# ################################
#
define myBroker MQTT2_SERVER 1883 global
setuuid myBroker 5d1e4efa-f33f-8319-c525-xxxx
#
# ################################
#
define  ObiSteckdose MQTT2_DEVICE DVES_yyyyyy
setuuid ObiSteckdose 5d41bb22-f33f-8319-23ac-yyyy
attr    ObiSteckdose IODev myBroker
attr    ObiSteckdose readingList \
          DVES_yyyyyy:tele/Obi1/STATE:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:tele/Obi1/LWT:.* LWT\
          DVES_yyyyyy:cmnd/Obi1/POWER:.* POWER\
          DVES_yyyyyy:tele/Obi1/UPTIME:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:tele/Obi1/SENSOR:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:tele/Obi1/INFO1:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:tele/Obi1/INFO2:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:tele/Obi1/INFO3:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:stat/Obi1/RESULT:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:stat/Obi1/STATE:.* { json2nameValue($EVENT) }\
          DVES_yyyyyy:stat/Obi1/POWER:.* POWER
attr    ObiSteckdose setList \
           on cmnd/Obi1/POWER on\
          off cmnd/Obi1/POWER off
attr    ObiSteckdose webCmd on:off
attr    ObiSteckdose icon hue_filled_br30
attr    ObiSteckdose room Test

angelegt.

Lieder bekommt FHEM nicht mit, wenn die Steckdose mit dem Geräteschalter oder über die Weboberfläche der Steckdose geschaltet wird.

Wie kann ich es hinbekommen, dass FHEM den Schaltzustand auch anzeigt, wenn die Steckdose per Knopf oder per  Tasmota-Weboberfläche geschaltet wird?

Mit lieben Grüßen Bracew
Titel: Antw:FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota 6.6.0
Beitrag von: schwatter am 24 August 2019, 09:39:21
Tasmota hat mal das Topic für Power geändert. Es gibt jetzt
Power und Power1. Hast du vielleicht auch Tasmota geupdatet?

edit:

In der Tasmota-Konsole mal
SetOption26 0
eingeben.
Titel: Antw:FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota 6.6.0
Beitrag von: Bracew am 24 August 2019, 09:58:22
Hallo schwatter,

das FHEM Update habe ich letzte Woche gemacht. Das Tasmota Update auf 6.6.0 vor ca. drei Wochen.
Nach dem FHEM Update hat das Schalten der Steckdosen gar nicht mehr funktioniert, so dass ich mit der Vorlage aus https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele:
Zitat
Manuelle Anpassungen

Die RAW-Definition kann dann beispielsweise wie folgt ergänzt werden:

defmod MQTT2_DVES_9B01BD MQTT2_DEVICE DVES_9B01BD
attr MQTT2_DVES_9B01BD IODev m2server
attr MQTT2_DVES_9B01BD readingList DVES_9B01BD:tele/DVES_9B01BD/STATE:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:tele/DVES_9B01BD/LWT:.* LWT\
   DVES_9B01BD:cmnd/DVES_9B01BD/POWER:.* POWER\
   DVES_9B01BD:tele/DVES_9B01BD/UPTIME:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:tele/DVES_9B01BD/SENSOR:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:tele/DVES_9B01BD/INFO1:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:tele/DVES_9B01BD/INFO2:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:tele/DVES_9B01BD/INFO3:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:stat/DVES_9B01BD/RESULT:.* { json2nameValue($EVENT) }\
   DVES_9B01BD:stat/DVES_9B01BD/STATE:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_9B01BD room MQTT2_DEVICE
attr MQTT2_DVES_9B01BD setList on cmnd/DVES_9B01BD/POWER on\
   off cmnd/DVES_9B01BD/POWER off\
   reboot cmnd/DVES_9B01BD/Restart 1
attr MQTT2_DVES_9B01BD webCmd on:off:reboot

sinngemäß übernommen und neu angefangen habe.


Gruß Bracew
Titel: Antw:FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota 6.6.0
Beitrag von: schwatter am 24 August 2019, 10:07:17
Ich sehe bei mir, das state auf power endet

defmod Lampe1_WZ MQTT2_DEVICE DVES_93AB79
attr Lampe1_WZ IODev myFhembroker
attr Lampe1_WZ devStateIcon on:rc_GREEN:off off:rc_RED:on offline:rc_BLUE:off
attr Lampe1_WZ icon message_socket
attr Lampe1_WZ readingList DVES_93AB79:tele/Lampe1_WZ/LWT:.* LWT\
DVES_93AB79:tele/Lampe1_WZ/INFO1:.* { json2nameValue($EVENT) }\
DVES_93AB79:tele/Lampe1_WZ/INFO2:.* { json2nameValue($EVENT) }\
DVES_93AB79:tele/Lampe1_WZ/INFO3:.* { json2nameValue($EVENT) }\
DVES_93AB79:stat/Lampe1_WZ/RESULT:.* { json2nameValue($EVENT) }\
DVES_93AB79:tele/Lampe1_WZ/STATE:.* { json2nameValue($EVENT) }\
DVES_93AB79:tele/Lampe1_WZ/SENSOR:.* { json2nameValue($EVENT) }\
DVES_93AB79:tele/Lampe1_WZ/UPTIME:.* { json2nameValue($EVENT) }\
DVES_93AB79:cmnd/Lampe1_WZ/POWER:.* POWER\
DVES_93AB79:stat/Lampe1_WZ/POWER:.* POWER
attr Lampe1_WZ room 03.Wohnzimmer,MQTT2_DEVICE
attr Lampe1_WZ setList on cmnd/Lampe1_WZ/POWER on\
off cmnd/Lampe1_WZ/POWER off
attr Lampe1_WZ stateFormat POWER\
<a href='http://192.168.178.46' target='_blank'>192.168.178.46</a>
attr Lampe1_WZ subType Light
attr Lampe1_WZ webCmd on:off
Titel: Antw:FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota 6.6.0
Beitrag von: Bracew am 24 August 2019, 10:58:59
Hallo schwatter,

danke für deinen Code. Ich habe diesen auf meine Namen angepasst und übernommen.
FHEM protestiert als erstes:
ZitatERROR:
ObiSteckdose: unknown attribute subType. Type 'attr ObiSteckdose ?' for a detailed list.
nachdem ich das im Code:
Zitatdefine  ObiSteckdose MQTT2_DEVICE DVES_331931
attr    ObiSteckdose IODev myBroker
attr    ObiSteckdose devStateIcon on:rc_GREEN:off off:rc_RED:on offline:rc_BLUE:off
attr    ObiSteckdose icon message_socket
attr    ObiSteckdose readingList DVES_331931:tele/Obi1/LWT:.* LWT\
           DVES_331931:tele/Obi1/INFO1:.* { json2nameValue($EVENT) }\
           DVES_331931:tele/Obi1/INFO2:.* { json2nameValue($EVENT) }\
           DVES_331931:tele/Obi1/INFO3:.* { json2nameValue($EVENT) }\
           DVES_331931:stat/Obi1/RESULT:.* { json2nameValue($EVENT) }\
           DVES_331931:tele/Obi1/STATE:.* { json2nameValue($EVENT) }\
           DVES_331931:tele/Obi1/SENSOR:.* { json2nameValue($EVENT) }\
           DVES_331931:tele/Obi1/UPTIME:.* { json2nameValue($EVENT) }\
           DVES_331931:cmnd/Obi1/POWER:.* POWER\
           DVES_331931:stat/Obi1/POWER:.* POWER
attr    ObiSteckdose room Test
attr    ObiSteckdose setList on cmnd/Obi1/POWER on\
           off cmnd/Obi1/POWER off
attr    ObiSteckdose stateFormat POWER\
<a href='http://192.168.0.71' target='_blank'>192.168.0.71</a>
#attr    ObiSteckdose subType Light
attr    ObiSteckdose webCmd on:off
auskommentiert habe, hat es funktioniert.

Ich werde jetzt mal genauer vergleichen, auf meine Verhältnisse Schritt für Schritt anpassen und mich dann noch mal melden.

Vielen Dank von Bracew
Titel: Antw:FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota 6.6.0
Beitrag von: Bracew am 24 August 2019, 11:19:17
Hallo schwatter,

mir ist unterdessen noch aufgefallen, dass ich vermutlich ein anderes devStateIcon angezeigt bekomme als Du (Siehe Bild in der Anlage)
und, dass mit einem Klick darauf ich die Steckdose an aber nicht ausschalten kann. Der Klick toggelt nur in eine Richtung, von aus nach an.

Gruß Bracew
Titel: Antw:FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota 6.6.0
Beitrag von: Bracew am 24 August 2019, 13:15:26
Hi,

ich glaube ich habe den Fehler gefunden: Alle on und off müssen GROSS geschrieben werden, also ON und OFF:
define  ObiSteckdose MQTT2_DEVICE DVES_331931
attr    ObiSteckdose IODev myBroker
attr    ObiSteckdose devStateIcon ON:FS20.on:OFF OFF:FS20.off:ON
attr    ObiSteckdose readingList \
          DVES_331931:tele/Obi1/STATE:.* { json2nameValue($EVENT) }\
          DVES_331931:tele/Obi1/LWT:.* LWT\
          DVES_331931:cmnd/Obi1/POWER:.* POWER\
          DVES_331931:tele/Obi1/UPTIME:.* { json2nameValue($EVENT) }\
          DVES_331931:tele/Obi1/SENSOR:.* { json2nameValue($EVENT) }\
          DVES_331931:tele/Obi1/INFO1:.* { json2nameValue($EVENT) }\
          DVES_331931:tele/Obi1/INFO2:.* { json2nameValue($EVENT) }\
          DVES_331931:tele/Obi1/INFO3:.* { json2nameValue($EVENT) }\
          DVES_331931:stat/Obi1/RESULT:.* { json2nameValue($EVENT) }\
          DVES_331931:stat/Obi1/STATE:.* { json2nameValue($EVENT) }\
          DVES_331931:stat/Obi1/POWER:.* POWER
attr    ObiSteckdose setList \
           ON cmnd/Obi1/POWER ON\
          OFF cmnd/Obi1/POWER OFF
attr    ObiSteckdose stateFormat\
           POWER\
           <a href='http://192.168.0.71' target='_blank'>192.168.0.71</a>;
attr    ObiSteckdose webCmd ON:OFF
attr    ObiSteckdose icon hue_filled_br30
attr    ObiSteckdose room Test


So funktioniert bei mir jetzt das Schalten mit FHEM, mit der Tasmota-Weboberfläche und mit dem Knopf an der OBI Socket 2 Steckdose. Auch werden alle Schaltzustände in FHEM richtig angezeigt.

ABER an der Sonoff-S20 Steckdose ist wieder alles anders, dort müssen
Meine zur Zeit funktionierende Konfiguration für die Sonoff-S20 ist:
define  Poolpumpe MQTT2_DEVICE DVES_B0B3EB
attr    Poolpumpe IODev myBroker
attr    Poolpumpe devStateIcon on:FS20.on:off off:FS20.off:on
attr    Poolpumpe readingList \
          DVES_B0B3EB:tele/sonoff/STATE:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:tele/sonoff/LWT:.* LWT\
          DVES_B0B3EB:cmnd/sonoff/POWER:.* POWER\
          DVES_B0B3EB:tele/sonoff/UPTIME:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:tele/sonoff/SENSOR:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:tele/sonoff/INFO1:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:tele/sonoff/INFO2:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:tele/sonoff/INFO3:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:stat/sonoff/RESULT:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:stat/sonoff/STATE:.* { json2nameValue($EVENT) }\
          DVES_B0B3EB:stat/sonoff/POWER:.* POWER\
          DVES_B0B3EB:stat/sonoff/POWER1:.* POWER1
attr    Poolpumpe setList \
           on cmnd/sonoff/POWER1 on\
          off cmnd/sonoff/POWER1 off
attr    Poolpumpe stateFormat\
           POWER1\
           <a href='http://192.168.0.70' target='_blank'>192.168.0.70</a>;
attr    Poolpumpe webCmd on:off
attr    Poolpumpe icon hue_filled_br30
attr    Poolpumpe room Test

So funktioniert bei mir jetzt das Schalten mit FHEM, mit der Tasmota-Weboberfläche und mit dem Knopf an der Sonoff-S20-Steckdose. Auch werden alle Schaltzustände in FHEM richtig angezeigt.
Auf beiden Steckdosen ist Tasmota Version 6.6.0(release-sonoff) installiert.

Auf der Weboberfläche, siehe Anlage, sieht das natürliche komisch aus, dass bei der einen Groß- und bei der anderen Kleinbuchstaben stehen.

Warum die Unterschiede in der FHEM Programmierung sind kann ich mir nicht erklären.

Danke und mit lieben Grüßen Bracew
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: schwatter am 24 August 2019, 18:02:30
Stimmt, "on" und "off" habe ich in Tasmota auf klein geändert.
Ist besser wegen verwechseln. Siehe hier

https://forum.fhem.de/index.php/topic,90220.0.html
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: Bracew am 24 August 2019, 18:32:58
Was mich ja irritiert ist, dass die
- eine Steckdose kleinbuchstaben
benötigt und die
- andere Steckdose GROSSBUCHSTABEN
benötigt,
obwohl beide dieselbe Tasmota Version laufen haben.

Woher soll man das denn wissen?
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: schwatter am 24 August 2019, 19:24:13
Die, die Großbuchstaben benötigt. Öffne die Konsole in Tasmota und gib folgendes ein.

StateText1
StateText2
StateText3


Folgende Ausgabe habe ich.

19:21:36 CMD: StateText1
19:21:36 MQT: stat/Lampe1_WZ/RESULT = {"StateText1":"off"}
19:21:51 CMD: StateText2
19:21:52 MQT: stat/Lampe1_WZ/RESULT = {"StateText2":"on"}
19:22:02 CMD: StateText3
19:22:02 MQT: stat/Lampe1_WZ/RESULT = {"StateText3":"toggle"}
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: Bracew am 24 August 2019, 19:38:22
Zitat18:36:30 CMD: StateText1
18:36:30 MQT: stat/Obi1/RESULT = {"StateText1":"OFF"}
18:36:44 CMD: StateText2
18:36:44 MQT: stat/Obi1/RESULT = {"StateText2":"ON"}
18:36:51 CMD: StateText3
18:36:51 MQT: stat/Obi1/RESULT = {"StateText3":"TOGGLE"}
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: schwatter am 24 August 2019, 19:50:23
Da siehst du, das jeder Status Großbuchstaben hat.
Anpassen mit:

StateText1 off
StateText2 on
StateText3 toggle
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: Bracew am 24 August 2019, 20:46:45
Ok, aber warum sind die beiden Installationen unterschiedlich?
Sind denn kleinbuchstaben richtig? oder Großbuchstaben? Was ist Standart und was ist abnormal?
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: schwatter am 24 August 2019, 21:02:22
Der Standard in Tasmota sind Großbuchstaben. In Fhem ist "on" und "off" mit Kleinbuchstaben.
Deshalb passe ich Tasmota immer an.
Titel: Antw:[gelöst] FHEM ignoriert Gerätetaster an Sonoff S20 oder OBI Steckdose Tasmota
Beitrag von: Bracew am 25 August 2019, 10:45:37
Hallo schwatter,

hat prima funktioniert. Vielen Dank für Deine Hilfe!

Weißt Du,
- ob die Anpassung auf Kleinbuchstaben in Tasmota von Dauer ist?
- warum Obi POWER aber Sonoff POWER1 verwenden?

Einen schönen Sonntag wünscht Bracew