Sonoff 4CH 4-Kanal Schaltmodul per MQTT

Begonnen von FHEM-User22, 18 April 2020, 17:43:28

Vorheriges Thema - Nächstes Thema

Beta-User

Zitat von: Otto123 am 28 April 2020, 14:54:24
Vielleicht gibt es am Donnerstag ne "Leipziger Videoschalte" dann kann man einfach mal reden :)
Reden geht vermutlich schneller ;) . Mal sehen, ob es zeitlich reinpaßt, aber ihr habt ungeschickte Uhrzeiten (18:00 Uhr)...

Zitat
Und Du weisst doch wie das ist: mach die Kiste auf wo MQTT drauf steht, nimm ein paar Bausteine raus zum Spielen und fang mal an. ;D
*grins* eigentlich bin ich froh, wenn ich diese Kiste grade nicht brauche (ich hoffe, dass den RFHEM/FHEM2FHEM/Multi-FHEM-over-MQTT-Teil für die "Einsteiger"-Doku jemand anderes beisteuert und ich dem betr. MQTT nur das Baumaterial vor die Füße kippen kann... :P )
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

FHEM-User22

Moin Otto,
Moin an Alle,

Zitat von: Otto123 am 26 April 2020, 21:33:37
Ich habe jetzt mal folgendes Setup probiert:
FHEM und MQTT Instanzen

  • mqtt broker in der cloud (cloudmqtt)
  • MQTT2_CLIENT FHEM Instanz1 verbunden mit cloudmqtt standard, autocreate nicht aktiv
  • MQTT2_SERVER intern FHEM Instanz2
2 Geräte

  • shellyplug s verbunden zu MQTT2_SERVER intern FHEM Instanz2, MQTT2_DEVICE vorhanden mit autocreate und attrTemplate eingerichet
  • gosund sp111 mit tasmota verbunden zu MQTT2_SERVER intern FHEM Instanz2, MQTT2_DEVICE vorhanden mit autocreate und attrTemplate eingerichet
Umzug in die cloud

  • Beide Definitionen aus Instanz2 kopiert, IODev geändert auf den MQTT2_CLIENT, in Raw Definition der Instanz1 ausgeführt.
  • shellyplug s und gosund sp111 verbunden zu cloudmqtt
Fertig - läuft :)
Gruß Otto

Ich habe es jetzt auch so gemacht, allerdings nur mit einer Instanz.


  • Das Gerät mit mqtt2_Server des Fhem verbunden.  Das Device anlegen lassen und alles funktioniert.

Danach

  • Die Dose auf den MQTT-Server ausserhalb und ebenfalls das FHEM-Device auf ausserhalb umgestellt.

Läuft fast. Wenn ich die Dose über die WEB-Oberfläche der Dose bediene sehe ich in FHEM alle Änderungen. Diese Richtung klappt.

Nur wenn ich in FHEM bedienen will, kommt die Lampe mit dem Ausrufezeichen und kein Schaltvorgang.
Dies ist bei allen 3 Dosen, die ich probiert habe der Fall.

RAW:
defmod MQTT2_DVES_24CE7B MQTT2_DEVICE DVES_24CE7B
attr MQTT2_DVES_24CE7B IODev Mosquitto.MQTT
attr MQTT2_DVES_24CE7B alias Gar01
attr MQTT2_DVES_24CE7B autocreate 0
attr MQTT2_DVES_24CE7B comment NOTE: on-for-timer is limited to 18h max duration!
attr MQTT2_DVES_24CE7B icon hue_filled_outlet
attr MQTT2_DVES_24CE7B model tasmota_basic_state_power1
attr MQTT2_DVES_24CE7B readingList tele/fhem03/gar01/LWT:.* LWT\
  tele/fhem03/gar01/STATE:.* { json2nameValue($EVENT) }\
  tele/fhem03/gar01/SENSOR:.* { json2nameValue($EVENT) }\
  tele/fhem03/gar01/INFO.:.* { json2nameValue($EVENT) }\
  stat/fhem03/gar01/RESULT:.* { json2nameValue($EVENT) }
attr MQTT2_DVES_24CE7B room 00-aussen,MQTT2_DEVICE
attr MQTT2_DVES_24CE7B setList off:noArg    cmnd/fhem03/gar01/POWER1 0\
  on:noArg     cmnd/fhem03/gar01/POWER1 1\
  toggle:noArg cmnd/fhem03/gar01/POWER1 2\
  on-for-timer {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100;; 'cmnd/fhem03/gar01/Backlog pulseTime1 '.$duration.';; POWER1 1'}\
  setOtaUrl:textField cmnd/fhem03/gar01/OtaUrl $EVTPART1\
  upgrade:noArg   cmnd/fhem03/gar01/upgrade 1
attr MQTT2_DVES_24CE7B setStateList on off toggle
attr MQTT2_DVES_24CE7B stateFormat POWER1

setstate MQTT2_DVES_24CE7B off
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 FallbackTopic cmnd/DVES_24CE7B_fb/
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 GroupTopic cmnd/sonoffs/gar01/
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Heap 27
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 Hostname Gar01
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 IPAddress 172.18.2.155
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 LWT Online
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 LoadAvg 27
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 Module Sonoff Basic
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 MqttCount 1
setstate MQTT2_DVES_24CE7B 2020-05-02 09:31:11 POWER1 off
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 RestartReason Software/System restart
setstate MQTT2_DVES_24CE7B 2020-05-02 09:29:26 SaveData on
setstate MQTT2_DVES_24CE7B 2020-05-02 09:29:26 SetOption26 on
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Sleep 50
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 SleepMode Dynamic
setstate MQTT2_DVES_24CE7B 2020-05-02 09:29:24 StateText1 off
setstate MQTT2_DVES_24CE7B 2020-05-02 09:29:25 StateText2 on
setstate MQTT2_DVES_24CE7B 2020-05-02 09:29:25 StateText3 toggle
setstate MQTT2_DVES_24CE7B 2020-05-02 09:29:25 StateText4 hold
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Time 2020-05-02T09:30:16
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Uptime 0T00:00:12
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 UptimeSec 12
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 Version 8.2.0(tasmota)
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 WebServerMode Admin
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_AP 2
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_BSSId A0:F3:C1:A0:07:66
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_Channel 9
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_Downtime 0T00:00:06
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_LinkCount 1
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_RSSI 58
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_SSId fritz
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:16 Wifi_Signal -71
setstate MQTT2_DVES_24CE7B 2020-05-02 09:31:06 state set_on


Das hier scheint nicht zu passen:


setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 FallbackTopic cmnd/DVES_24CE7B_fb/
setstate MQTT2_DVES_24CE7B 2020-05-02 09:30:12 GroupTopic cmnd/sonoffs/gar01/


Aber wie kann ich das Ändern?

Hier nochmal das List:


Internals:
   CFGFN     
   CID        DVES_24CE7B
   DEF        DVES_24CE7B
   DEVICETOPIC MQTT2_DVES_24CE7B
   FUUID      5ead2139-f33f-6033-d992-8dd03c649480b7f2
   IODev      Mosquitto.MQTT
   LASTInputDev mqtt2c
   MSGCNT     31
   NAME       MQTT2_DVES_24CE7B
   NR         18727
   STATE      off
   TYPE       MQTT2_DEVICE
   mqtt2c_MSGCNT 14
   mqtt2c_TIME 2020-05-02 09:31:11
   mqtt2s_MSGCNT 17
   mqtt2s_TIME 2020-05-02 09:30:05
   OLDREADINGS:
   READINGS:
     2020-05-02 09:30:12   FallbackTopic   cmnd/DVES_24CE7B_fb/
     2020-05-02 09:30:12   GroupTopic      cmnd/sonoffs/gar01/
     2020-05-02 09:30:16   Heap            27
     2020-05-02 09:30:12   Hostname        Gar01
     2020-05-02 09:30:12   IPAddress       172.18.2.155
     2020-05-02 09:30:12   LWT             Online
     2020-05-02 09:30:16   LoadAvg         27
     2020-05-02 09:30:12   Module          Sonoff Basic
     2020-05-02 09:30:16   MqttCount       1
     2020-05-02 09:31:11   POWER1          off
     2020-05-02 09:30:12   RestartReason   Software/System restart
     2020-05-02 09:29:26   SaveData        on
     2020-05-02 09:29:26   SetOption26     on
     2020-05-02 09:30:16   Sleep           50
     2020-05-02 09:30:16   SleepMode       Dynamic
     2020-05-02 09:29:24   StateText1      off
     2020-05-02 09:29:25   StateText2      on
     2020-05-02 09:29:25   StateText3      toggle
     2020-05-02 09:29:25   StateText4      hold
     2020-05-02 09:30:16   Time            2020-05-02T09:30:16
     2020-05-02 09:30:16   Uptime          0T00:00:12
     2020-05-02 09:30:16   UptimeSec       12
     2020-05-02 09:30:12   Version         8.2.0(tasmota)
     2020-05-02 09:30:12   WebServerMode   Admin
     2020-05-02 09:30:16   Wifi_AP         2
     2020-05-02 09:30:16   Wifi_BSSId      A0:F3:C1:A0:07:66
     2020-05-02 09:30:16   Wifi_Channel    9
     2020-05-02 09:30:16   Wifi_Downtime   0T00:00:06
     2020-05-02 09:30:16   Wifi_LinkCount  1
     2020-05-02 09:30:16   Wifi_RSSI       58
     2020-05-02 09:30:16   Wifi_SSId       fritz
     2020-05-02 09:30:16   Wifi_Signal     -71
     2020-05-02 09:31:06   state           set_on
   subscribeExpr:
Attributes:
   IODev      Mosquitto.MQTT
   alias      Gar01
   autocreate 0
   comment    NOTE: on-for-timer is limited to 18h max duration!
   icon       hue_filled_outlet
   model      tasmota_basic_state_power1
   readingList tele/fhem03/gar01/LWT:.* LWT
  tele/fhem03/gar01/STATE:.* { json2nameValue($EVENT) }
  tele/fhem03/gar01/SENSOR:.* { json2nameValue($EVENT) }
  tele/fhem03/gar01/INFO.:.* { json2nameValue($EVENT) }
  stat/fhem03/gar01/RESULT:.* { json2nameValue($EVENT) }
   room       00-aussen,MQTT2_DEVICE
   setList    off:noArg    cmnd/fhem03/gar01/POWER1 0
  on:noArg     cmnd/fhem03/gar01/POWER1 1
  toggle:noArg cmnd/fhem03/gar01/POWER1 2
  on-for-timer {my $duration = $EVTPART1 < 11.2 ? $EVTPART1*10 : $EVTPART1+100; 'cmnd/fhem03/gar01/Backlog pulseTime1 '.$duration.'; POWER1 1'}
  setOtaUrl:textField cmnd/fhem03/gar01/OtaUrl $EVTPART1
  upgrade:noArg   cmnd/fhem03/gar01/upgrade 1
   setStateList on off toggle
   stateFormat POWER1


Was kann ich noch liefern?
Freu mich, ganz kurz vor der Lösung. :-)

liebe Grüße
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Otto123

Hi,

ich sehe jetzt irgendwie noch keinen MQTT2_CLIENT
Das hier Mosquitto.MQTT ist Dein MQTT IO - richtig?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

FHEM-User22

Zitat von: Otto123 am 02 Mai 2020, 11:26:14
Hi,

ich sehe jetzt irgendwie noch keinen MQTT2_CLIENT
Das hier Mosquitto.MQTT ist Dein MQTT IO - richtig?

Gruß Otto

Ja, Mosquitto.MQTT ist der ausserhalb-Server.

Gruß
FHEM auf Raspberry Pi und Proxmox und... und.... und....

Otto123

Naja Du musst aber die MQTT2_DEVICES mit einem MQTT2_CLIENT auf den MQTT Server im Internet verbinden und nicht einfach den "alten" MQTT nehmen.

mosquitto im Inet <- MQTT2_CLIENT <- MQTT2_DEVICE
   ^
   +-- MQTT Dose
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

TomLee

Wenn ich mir das tasmota_basic_state_power1-Template anschaue, sehe ich das damit auch tasmota_set_lowercase_texts_and_state1 ausgeführt wird, welches folgende ReadingList erstellt:

Zitatattr DEVICE readingList \
TELETOPIC/LWT:.* LWT\
TELETOPIC/STATE:.* { json2nameValue($EVENT,'',$JSONMAP) }\
TELETOPIC/SENSOR:.* { json2nameValue($EVENT,'',$JSONMAP) }\
TELETOPIC/INFO.:.* { json2nameValue($EVENT,'',$JSONMAP) }\
TELETOPIC/UPTIME:.* { json2nameValue($EVENT,'',$JSONMAP) }\
STATTOPIC/POWER1:.* state\
STATTOPIC/RESULT:.* { json2nameValue($EVENT,'',$JSONMAP) }

Warum ist das bei dir nicht so ?




Wenn du im jetzigen Device die ReadingList um

stat/fhem03/gar01/POWER1:.* { json2nameValue($EVENT) }
oder
stat/fhem03/gar01/POWER1:.* POWER1


erweiterst, bekommst dann immer noch das Ausrufezeichen ?

Gruß

Thomas


FHEM-User22

Zitat von: TomLee am 02 Mai 2020, 12:31:43
Wenn ich mir das tasmota_basic_state_power1-Template anschaue, sehe ich das damit auch tasmota_set_lowercase_texts_and_state1 ausgeführt wird, welches folgende ReadingList erstellt:

Warum ist das bei dir nicht so ?




Wenn du im jetzigen Device die ReadingList um

stat/fhem03/gar01/POWER1:.* { json2nameValue($EVENT) }
oder
stat/fhem03/gar01/POWER1:.* POWER1


erweiterst, bekommst dann immer noch das Ausrufezeichen ?

Gruß

Thomas

Hallo,
warum das so ist, weiss ich nicht.

Das ReadingList habe ich geändert, aber keine Veränderung.

Grüße
FHEM auf Raspberry Pi und Proxmox und... und.... und....

FHEM-User22

Hallo Otto,

Zitat von: Otto123 am 02 Mai 2020, 12:06:23
Naja Du musst aber die MQTT2_DEVICES mit einem MQTT2_CLIENT auf den MQTT Server im Internet verbinden und nicht einfach den "alten" MQTT nehmen.

mosquitto im Inet <- MQTT2_CLIENT <- MQTT2_DEVICE
   ^
   +-- MQTT Dose


Dankeschön, das war es. Ich habe lange probiert, nichts ging. Dann mal den FHEM mit shutdown restart neu gestartet uuuuund....
es geht. SUPI.
Wer weiss, wo er sich verklemmt hatte.

Dankeschön nochmals.
FHEM auf Raspberry Pi und Proxmox und... und.... und....