Sonoff Dual R2 über MQTT2 an FHEM anbinden

Begonnen von Mikoom, 03 August 2020, 14:06:35

Vorheriges Thema - Nächstes Thema

Mikoom

Hallo zusammen,

ich lese seit Langem fleißig mit und habe auch einige Projekte für meine Hausautomation dank der Tipps hier für mich umsetzen können.

Momentan versuche ich mich an Sonoff und Tasmota, bin aber nach Tagen herumprobieren an einem Punkt angelangt, an dem ich Hilfe von Experten gebrauchen könnte.

Das Problem:
Ich habe problemlos Sonoff Basic in FHEM einbinden können. Bei meinem Sonoff Dual R2 funktioniert das aber leider nicht. Der Sonoff Dual R2 lässt sich aber problemlos über den Direktaufruf mit IP-Adresse schalten. Nachfolgend meine Konfiguration:

Grundkonfiguration ist:
FHEM-interner MQTT2_SERVER
Type ist MQTT2_DEVICE
Device ist ein Sonoff Dual R2 mit Tasmota 8.3.1

Raw-Definition MQTT2_SERVER:

defmod myBroker MQTT2_SERVER 1883 global
attr myBroker autocreate 1

setstate myBroker 2020-08-03 12:18:32 RETAIN {"tele/SonoffIP98/LWT":"Online"}
setstate myBroker 2020-08-02 10:40:10 lastPublish cmnd/SonoffIP103/Backlog:StateText1 off;; StateText2 on;; StateText3 toggle;; StateText4 hold;; SetOption26 1;; SaveData 1
setstate myBroker 2020-08-03 12:18:32 nrclients 2
setstate myBroker 2020-08-03 10:42:55 state Initialized


Raw-Defonition Sonoff Kanal 1:

defmod MQTT2_SonoffIP103 MQTT2_DEVICE SonoffIP103
attr MQTT2_SonoffIP103 IODev myBroker
attr MQTT2_SonoffIP103 alexaName Gartenbeleuchtung
attr MQTT2_SonoffIP103 alias Gartenbeleuchtung
attr MQTT2_SonoffIP103 autocreate 0
attr MQTT2_SonoffIP103 comment Channel 1 for MQTT2_SonoffIP103, see also MQTT2_SonoffIP103_CH2
attr MQTT2_SonoffIP103 devStateIcon ON:ios-on-green:off OFF:ios-off:on
attr MQTT2_SonoffIP103 genericDeviceType switch
attr MQTT2_SonoffIP103 icon li_wht_on
attr MQTT2_SonoffIP103 jsonMap POWER1:0 POWER2:0 POWER3:0 POWER4:0 Dimmer:0 Channel_0:0 Channel_1:0 Channel_2:0 Channel_3:0 Channel_4:0 HSBColor:0 Color:0
attr MQTT2_SonoffIP103 model tasmota_2channel_split
attr MQTT2_SonoffIP103 readingList tele/SonoffIP103/LWT:.* LWT\
  tele/SonoffIP103/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/SonoffIP103/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/SonoffIP103/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/SonoffIP103/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  stat/SonoffIP103/POWER1:.* state\
  stat/SonoffIP103/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_SonoffIP103 room Garten,Licht,MQTT2_DEVICE
attr MQTT2_SonoffIP103 setList off:noArg    cmnd/SonoffIP103/POWER1 0\
  on:noArg     cmnd/SonoffIP103/POWER1 1\
  toggle:noArg cmnd/SonoffIP103/POWER1 2\
  setOtaUrl:textField cmnd/SonoffIP103/OtaUrl $EVTPART1\
  upgrade:noArg   cmnd/SonoffIP103/upgrade 1
attr MQTT2_SonoffIP103 setStateList on off toggle

setstate MQTT2_SonoffIP103 set_off
setstate MQTT2_SonoffIP103 2020-08-02 10:40:10 associatedWith MQTT2_SonoffIP103_CH2
setstate MQTT2_SonoffIP103 2020-08-02 10:40:10 attrTemplateVersion 20200529
setstate MQTT2_SonoffIP103 2020-08-03 13:25:52 state set_off


Raw-Definition Sonoff Kanal 2:

defmod MQTT2_SonoffIP103_CH2 MQTT2_DEVICE SonoffIP103
attr MQTT2_SonoffIP103_CH2 IODev myBroker
attr MQTT2_SonoffIP103_CH2 alexaName Skulptur
attr MQTT2_SonoffIP103_CH2 alias Skulptur
attr MQTT2_SonoffIP103_CH2 autocreate 0
attr MQTT2_SonoffIP103_CH2 comment Channel 2 for MQTT2_SonoffIP103
attr MQTT2_SonoffIP103_CH2 devStateIcon ON:ios-on-green:off OFF:ios-off:on
attr MQTT2_SonoffIP103_CH2 genericDeviceType switch
attr MQTT2_SonoffIP103_CH2 icon li_wht_on
attr MQTT2_SonoffIP103_CH2 jsonMap POWER2:0 Dimmer:pct POWER1:0 Heap:0 LedTable:0 LoadAvg:0 MqttCount:0 SaveData:0 Scheme:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0 ANALOG_A0:0 SetOption26:0 Sleep:0 SleepMode:0 Speed:0 StateText1:0 StateText2:0 StateText3:0 StateText4:0 Time:0 Uptime:0 UptimeSec:0 Wifi_SSId:0 Wifi_RSSI:0 Wifi_LinkCount:0 Wifi_Downtime:0 Wifi_Channel:0 Wifi_BSSId:0 Wifi_AP:0
attr MQTT2_SonoffIP103_CH2 model tasmota_2channel_split
attr MQTT2_SonoffIP103_CH2 readingList tele/SonoffIP103/LWT:.* LWT\
  tele/SonoffIP103/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/SonoffIP103/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/SonoffIP103/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  tele/SonoffIP103/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
  stat/SonoffIP103/POWER1:.* state\
  stat/SonoffIP103/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }
attr MQTT2_SonoffIP103_CH2 room Garten,Licht,MQTT2_DEVICE
attr MQTT2_SonoffIP103_CH2 setList off:noArg    cmnd/SonoffIP103_CH2/POWER2 0\
  on:noArg     cmnd/SonoffIP103/POWER2 1\
  toggle:noArg cmnd/SonoffIP103/POWER2 2
attr MQTT2_SonoffIP103_CH2 setStateList on off toggle

setstate MQTT2_SonoffIP103_CH2 set_off
setstate MQTT2_SonoffIP103_CH2 2020-08-02 10:40:10 associatedWith MQTT2_SonoffIP103
setstate MQTT2_SonoffIP103_CH2 2020-08-02 10:40:10 attrTemplateVersion 20200529
setstate MQTT2_SonoffIP103_CH2 2020-08-03 13:15:58 state set_off


Was mache ich falsch. Bin für jede Hilfe dankbar.

LG
Miikoom

Beta-User

Kann es sein, dass die Host-Angabe nicht paßt? Da sollte die Adresse des MQTT2_SERVER (=FHEM) rein, du scheinst da aber die von dem Device selbst eingetragen zu haben, oder gibt es einen anderen Grund, warum der IP103 heißt?

(Dann dürfte eigentlich aber auch autocreate nichts getan haben? Daher ist auch nichts von 103 in RETAIN am MQTT2_SERVER zu sehen?)

(Generell würde ich bei der Benennung die Frage stellen wollen, ob die IP-Adresse ein günstiger Anknüpfungspunkt ist; ich empfehle gerne die Chip-ID mit DVES_-Präfix, also "DVES_%06X"; die ist nämlich - im Gegensatz zu Orten und Einsatzzwecken usw. - unveränderlich)
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

Mikoom

Hallo Beta-User,

die Lösung kann so einfach sein. Ich habe den Wald vor lauter Bäumen nicht mehr gesehen ::). Ich hatte tatsächlich versehentlich die IP vom Device beim Host eingetragen. Jetzt passt alles und beide Kanäle funktionieren.
Danke dafür.

LG
Miikoom