MQTT2 Server und Sonoff S20

Begonnen von Tommy82, 05 Januar 2019, 16:40:41

Vorheriges Thema - Nächstes Thema

Tommy82

Hallo,
ich habe jetzt meine erste Sonoff S20 Steckdose mit Tasmato geflasht, und dann in Fhem den MQTT2 Server installiert und autocreate aktiviert. DIe S 20 wird dann auch sofort gefunden, ich habe dann das Templeta A_01a_tasmato_basic_state_power1 zu geordnet, war das das richtige?

Das on/off schalten über das Fhem Webif funktioniert zumindest, nur der aktuelle Status wird mir nicht angezeigt, da steht immer nur POWER1, wieso ist das so?

Internals:
   CID        DVES_37B49797
   DEF        DVES_37B49797
   DEVICETOPIC MQTT2_DVES_37B49797
   IODev      MQTT2_FHEM_Server
   LASTInputDev MQTT2_FHEM_Server
   MQTT2_FHEM_Server_MSGCNT 66
   MQTT2_FHEM_Server_TIME 2019-01-05 16:37:49
   MSGCNT     66
   NAME       Laya_Steckdose_Sonoff
   NR         388
   STATE      POWER1
   TYPE       MQTT2_DEVICE
   Helper:
     DBLOG:
       LWT:
         myDbLog:
           TIME       1546685437.28996
           VALUE      Online
       LoadAvg:
         myDbLog:
           TIME       1546702669.12276
           VALUE      19
       POWER:
         myDbLog:
           TIME       1546702669.12276
           VALUE      on
       Sleep:
         myDbLog:
           TIME       1546702669.12276
           VALUE      50
       SleepMode:
         myDbLog:
           TIME       1546702669.12276
           VALUE      Dynamic
       Time:
         myDbLog:
           TIME       1546702669.12276
           VALUE      2019-01-05T16:37:48
       Uptime:
         myDbLog:
           TIME       1546702669.12276
           VALUE      0T22:46:53
       Vcc:
         myDbLog:
           TIME       1546702669.12276
           VALUE      3.505
       Wifi_AP:
         myDbLog:
           TIME       1546702669.12276
           VALUE      1
       Wifi_BSSId:
         myDbLog:
           TIME       1546702669.12276
           VALUE      44:4E:6D:9B:DD:E9
       Wifi_Channel:
         myDbLog:
           TIME       1546702669.12276
           VALUE      13
       Wifi_RSSI:
         myDbLog:
           TIME       1546702669.12276
           VALUE      52
       Wifi_SSId:
         myDbLog:
           TIME       1546702669.12276
           VALUE      T&T2,4
       state:
         myDbLog:
           TIME       1546702620.82828
           VALUE      set_on
   READINGS:
     2019-01-05 11:50:37   LWT             Online
     2019-01-05 16:37:49   LoadAvg         19
     2019-01-05 16:37:49   POWER           ON
     2019-01-05 16:37:49   Sleep           50
     2019-01-05 16:37:49   SleepMode       Dynamic
     2019-01-05 16:37:49   Time            2019-01-05T16:37:48
     2019-01-05 16:37:49   Uptime          0T22:46:53
     2019-01-05 16:37:49   Vcc             3.505
     2019-01-05 16:37:49   Wifi_AP         1
     2019-01-05 16:37:49   Wifi_BSSId      44:4E:6D:9B:DD:E9
     2019-01-05 16:37:49   Wifi_Channel    13
     2019-01-05 16:37:49   Wifi_RSSI       52
     2019-01-05 16:37:49   Wifi_SSId       T&T2,4
     2019-01-05 16:37:00   state           set_on
Attributes:
   IODev      MQTT2_FHEM_Server
   autocreate 0
   eventMap   { dev=>{'^(.*)POWER(.?): OFF$'=>'$1POWER$2: off', '^(.*)POWER(.?): ON$'=>'$1POWER$2: on'} }
   group      Steckdosen
   model      A_01a_tasmota_basic_state_power1
   readingList tele/layamicky/LWT:.* LWT
  tele/layamicky/STATE:.* { json2nameValue($EVENT) }
  tele/layamicky/SENSOR:.* { json2nameValue($EVENT) }
  tele/layamicky/INFO.:.* { json2nameValue($EVENT) }
  stat/layamicky/RESULT:.* { json2nameValue($EVENT) }
   room       Kinderzimmer_Laya
   setList    off:noArg    cmnd/layamicky/POWER1 0
  on:noArg     cmnd/layamicky/POWER1 1
  toggle:noArg cmnd/layamicky/POWER1 2
   setStateList on off toggle
   stateFormat POWER1


Das zweite Problem welches ich habe ist, das ich die Dose nicht über meine FTUI definition Steuern kann, einer eine idee wieso  nicht?
data-row="4" data-col="6" data-sizex="1" data-sizey="1">
        <header class="headerTransparent">Laya<br>Licht</header>
       <div data-type="switch" data-off-background-color="#aaaaaa" data-on-background-color="#aaaaaa" data-icon="fa-plug" data-device='Laya_Steckdose_Sonoff'
            data-get-on='["on","off"]' data-colors='["#00ff00","#ff0000"]' data-set-on="on"  data-set-off="off" class="cell"></div>


Danke

EDIT

Ich glaub ich habe es gefunden der Wert "POWER1" war falsch, es muss "POWER" heissen. Aber der war automatisch gesetzt, wieso?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Beta-User

...weil das so in dem template hinterlegt ist.

Für Einfach-Devices ist eigentlich das "Basic"-template (das aber bis zum Update morgen früh noch kaputt ist).

Hast du eine Rückmeldung, wenn du über den Button am Device schaltest? (Es gibt grad in dem "Eine Frage..."-Thread dazu auch eine Teildiskussion).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Tommy82

Ja der state wird im POWER reading aktualisiert, das funktioniert.
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Papaloewe

Die eigentliche Rückmeldung vom dem Device kommt über das Reading "RESULT_POWER".
Ist aber auch nur bei den neuren tasmota-Versionen so.

Beta-User

Zitat von: Papaloewe am 05 Januar 2019, 17:00:23
Die eigentliche Rückmeldung vom dem Device kommt über das Reading "RESULT_POWER".
Ist aber auch nur bei den neuren tasmota-Versionen so.
Sollte dann stateFormat RESULT_POWER sein, oder?
Kann man das irgendwie fest machen, ab welcher Tasmota-Version das so ist, dann würde ich ggf. das Basic-template so anpassen bzw. ein 2. für die neueren firmwares bereitstellen?
Für die, die POWER1 nutzen (mit dieser 26-er Option) ändert sich ja nichts, oder?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Papaloewe

#5
Scheint als es das neue RESULT-Topic ab der tasmota Version 5.14.0 gibt.
Ja, ich habe das stateformat auf RESULT_POWER bei mir gesetzt.
lst ist doch schon etwas länger her.
https://github.com/klein0r/fhem-tasmota/issues/17

Beta-User

@Papaloewe:
Du nutzt das andere Modul und MQTT als IO, oder?
Die MQTT2-Module packen das vermutlich anders aus als das TASMOTA_DEVICE-Modul, da würde ich drauf tippen, dass das passt.

@Tommy82: Oder hast du bei aktiviertem autocreate (müßtest du dazu ändern) andere Erkenntnisse?

Wo liegt jetzt noch das Problem? Bei FTUI?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

Invers

Zitat
Ja der state wird im POWER reading aktualisiert, das funktioniert.

Das ist bei mir auch so, aber state wird nicht aktualisiert, wenn über den Taster geschaltet wird.
Wird über set geschaltet, dann wird state aktualisiert.
Ist das bei dir auch so?

Falls state bei dir in beiden Fällen aktualisiert wird, zeig doch mal die Def, dann kann ich es auch mal probieren.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

ZitatDas ist bei mir auch so, aber state wird nicht aktualisiert, wenn über den Taster geschaltet wird.
Warum genau stoert das?

Tommy82

#9
Zitat von: Papaloewe am 05 Januar 2019, 17:00:23
Die eigentliche Rückmeldung vom dem Device kommt über das Reading "RESULT_POWER".
Ist aber auch nur bei den neuren tasmota-Versionen so.

Hi,
das ist seltsam, bei mir gibt es kein Reading "RESULT_POWER", die Rückmeldung kommt bei mir im Reading "POWER"

Zitat von: Beta-User am 05 Januar 2019, 17:41:12

@Tommy82: Oder hast du bei aktiviertem autocreate (müßtest du dazu ändern) andere Erkenntnisse?

Wo liegt jetzt noch das Problem? Bei FTUI?
De Fehler war bei mir das na dem setzen des nach dem setzen des Templates, in den Attributen "setList" "POWER1"  und in "stateFormat" auch "POWER1" stand, nachdem ich das auf "POWER" geändert habe funktioniert auch alles über die FTUI, dazu kommt das meine Definition in der FTUI noch aus Zeiten von MQTT war und dort "ON" und "OFF" waren, und jetzt bei MQTT2 "on" und "off" sind.

Was meinst du mit autocreate? Im MQTT2 Server? da ist autocreate aktiv

Zitat von: Invers am 05 Januar 2019, 17:56:21
Falls state bei dir in beiden Fällen aktualisiert wird, zeig doch mal die Def, dann kann ich es auch mal probieren.
Bei mir wird der "POWER" state aktualisiert wenn ich den Taster drücke. Die Def des Devices steht etwas weiter oben
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Invers

#10
ZitatWarum genau stoert das?
Ich vermute, weil eine Abfrage auf state dann sinnlos wird, wenn es mal stimmt und mal nicht und weil das devStateIcon daran hängt!? Sowas wie [Steckdose_3] eq "on" muss dann leider  [Steckdose_3:POWER] eq "ON" heissen.

@Tommy82
Schde, geht dann ja bei dir auch nicht.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2

rudolfkoenig

ZitatIch vermute, weil eine Abfrage auf state dann sinnlos wird, wenn es mal stimmt und mal nicht und weil das devStateIcon daran hängt!? Sowas wie [Steckdose_3] eq "on" muss dann leider  [Steckdose_3:POWER] eq "ON" heissen.
Danke.
DOIF hatte ich nicht auf dem Schirm, und devStateIcon wohl auch verdraengt.

Um solche Probleme zu vermeiden sollten wir statt
attr DEVICE stateFormat POWER
lieberattr DEVICE userReadings state:POWER:.* { lc(ReadingsVal("DEVICE","POWER","")) }verwenden.

Papaloewe

Hier mal das List eines frisch erkannten Tasmota-Devices:
defmod MQTT2_tasmota_gosund5723 MQTT2_DEVICE tasmota_gosund5723
attr MQTT2_tasmota_gosund5723 IODev MQTT2_mosquito
attr MQTT2_tasmota_gosund5723 readingList tasmota/gosund-5723/tele/STATE:.* { json2nameValue($EVENT, 'STATE_', $JSONMAP) }\
tasmota/gosund-5723/tele/SENSOR:.* { json2nameValue($EVENT, 'SENSOR_', $JSONMAP) }\
tasmota/gosund-5723/stat/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }\
tasmota/gosund-5723/stat/POWER:.* POWER\
tasmota/gosund-5723/stat/RESULT:.* { json2nameValue($EVENT, 'RESULT_', $JSONMAP) }\
tasmota/gosund-5723/stat/POWER:.* POWER
attr MQTT2_tasmota_gosund5723 room MQTT2_DEVICE

setstate MQTT2_tasmota_gosund5723 2019-01-05 19:23:01 POWER OFF
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:23:01 RESULT_POWER OFF
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_ApparentPower 30
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Current 0.132
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Factor 0.01
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Period 0
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Power 0
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_ReactivePower 30
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Today 0.161
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Total 29.603
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_TotalStartTime 2018-10-31T18:23:23
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Voltage 229
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_ENERGY_Yesterday 0.316
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 SENSOR_Time 2019-01-05T19:22:39
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_LoadAvg 19
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_POWER OFF
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Sleep 50
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_SleepMode Dynamic
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Time 2019-01-05T19:22:39
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Uptime 0T00:05:14
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Vcc 3.409
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Wifi_AP 1
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Wifi_BSSId 82:2A:A8:17:C0:E0
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Wifi_Channel 6
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Wifi_RSSI 100
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:22:39 STATE_Wifi_SSId sh@4loewen.de
setstate MQTT2_tasmota_gosund5723 2019-01-05 19:23:01 associatedWith ESP_MQTT2_Bridge


"POWER_RESULT" wird aus dem json-String des RESULT Topics erzeugt.
Wenn ich manuell schalte ändert sich genau dieses Reading.
Aber eben auch bei einem publish tasmota/gosund-2464/cmnd/POWER 0/1

Tommy82

#13
Zitat von: Invers am 05 Januar 2019, 18:51:07
@Tommy82
Schde, geht dann ja bei dir auch nicht.

Was geht bei mir nicht? Der state wird doch aktualisiert

Zitat von: Papaloewe am 05 Januar 2019, 19:30:10
Hier mal das List eines frisch erkannten Tasmota-Devices:
"POWER_RESULT" wird aus dem json-String des RESULT Topics erzeugt.
Wenn ich manuell schalte ändert sich genau dieses Reading.
Aber eben auch bei einem publish tasmota/gosund-2464/cmnd/POWER 0/1
Dann müsste das POWER bei mir aus dem Template set kommen?
Fhem Cubitruck  Armbian Buster with Linux 5.3.9-sunxi
HM-CC_RT-DN, HM-Sec-RHS,HM-Sec-SD, HM-Sec-SCo,IT1500,1xIT GRR-3500 Fritz!Dect200,Powerline546E,Enigma2 Modul mit 3 Vu+,Wol Modul für WinServer2016 und WinServer 2019,FB6590
Allnetl Wandtablett mit FTUI

Invers

ZitatUm solche Probleme zu vermeiden sollten wir statt
Code: [Auswählen]

attr DEVICE stateFormat POWER

lieber
Code: [Auswählen]

attr DEVICE userReadings state:POWER:.* { lc(ReadingsVal("DEVICE","POWER","")) }

verwenden.

Herzlichen Dank. Damit wird state aktualisiert, zeigt on und off und devStateIcon wird korrekt angezeigt. Somit sind alle Probleme zu state gelöst, soweit ich das derzeit beurteilen kann. Bin begeistert.

Auch allen Anderen noch einmal meinen herzlichen Dank für die Geduld und Mühe.
Pi3B+ mit SSD/ Bullseye | FB7590 AX | 12 x Dect200 | CUL433+868 | SDuino | HM-LAN | 3 x Heizung FHT + FKontakte | KeyMatic + 4 FB | HM Wandtaster 2-fach m. LED | 6 x Türkont. TFK-TI | HM-Bew.-Melder innen | 3 x Smoked. HM-SEC-SD-2