Shelly Tasmota MQTT, Power (ON/OFF) Reading in FHEM verarbeiten

Begonnen von o.l.i, 26 April 2019, 11:48:13

Vorheriges Thema - Nächstes Thema

o.l.i

Hallo FHEM'ler,
ich habe den Shelly1 mit Tasmota geflasht und betreibe Ihn jetzt mittels MQTT an FHEM. Ich kann das Licht über FHEM ein und ausschalten. Wenn ich das Licht direkt über das Shelly Web UI aus / anschalte, dann schickt die Shelly dies dem FHEM auch zu (POWER OFF|ON) aber der Status des Lichtes wird daraufhin im FHEM nicht geändert.

SOmit meine Frage wie ich das Reading Smarthome/EZ_Leseecke_Rechts/POWER (ON|OFF) so verarbeite, dass sich der Status meines Lichtes im FHEM auch entsprechend angleicht?

Nachflgend ein Auszug meiner Konfig:
define EZ_Leseecke_Rechts MQTT_DEVICE
setuuid EZ_Leseecke_Rechts 5cc2c8ac-f33f-3983-4a2f-1e683864615075a4
attr EZ_Leseecke_Rechts IODev Mosquitto
attr EZ_Leseecke_Rechts devStateIcon ON:rc_GREEN:OFF OFF:rc_RED:ON
attr EZ_Leseecke_Rechts icon hue_filled_br30
attr EZ_Leseecke_Rechts publishSet ON OFF Smarthome/EZ_Leseecke_Rechts/cmnd/POWER
attr EZ_Leseecke_Rechts room WZ
attr EZ_Leseecke_Rechts subscribeReading_Licht Smarthome/EZ_Leseecke_Rechts/POWER
attr EZ_Leseecke_Rechts webCmd ON:OFF

rudolfkoenig


o.l.i

Ich habe die aktuellste Version von Mosquitto installiert. Das sollte doch passen. Ich sehe das problem auch eher nich tim MQTT Broker sondern eher in FHEM. Ich erhalte ja die MQTT Nachricht, das das Licht ausgeschaltet wurde. Es wird nur im FHEM das Licht Icon nicht geändert.

Oliver

hsepm

Ich betreibe meine Shelly 1er mit der Stock-Firmware (gegenwärtig 1.4.9) und "MQTT enabled" als MQTT_DEVICEs. Auch wenn ich die FHEM-Oberfläche nicht benutze ... der Status wird dort immer korrekt angezeigt.

List:


Internals:
   CHANGED   
   FUUID      5c6bde2f-f33f-3837-5946-1de442a1d198cdc4
   IODev      MQTT_Broker
   NAME       SH_HWR
   NR         161
   STATE      off
   TYPE       MQTT_DEVICE
   READINGS:
     2019-04-26 12:01:50   state           off
     2019-04-26 12:01:50   transmission-state incoming publish received
   message_ids:
   publishSets:
     :
       topic      shellies/shelly1-3255F4/relay/0/command
       values:
         on
         off
   sets:
     off       
     on         
   subscribe:
     shellies/shelly1-3255F4/relay/0
   subscribeExpr:
     ^shellies\/shelly1-3255F4\/relay\/0$
   subscribeQos:
     shellies/shelly1-3255F4/relay/0 0
   subscribeReadings:
     shellies/shelly1-3255F4/relay/0:
       cmd       
       name       state
Attributes:
   IODev      MQTT_Broker
   alias      HWR
   event-min-interval .*:600
   event-on-change-reading .*
   genericDeviceType light
   group      Licht
   publishSet on off shellies/shelly1-3255F4/relay/0/command
   room       HWR,Licht
   subscribeReading_state shellies/shelly1-3255F4/relay/0
   useSetExtensions 1
   webCmd     :

TomLee

Zitatich habe den Shelly1 mit Tasmota geflasht

Hallo,

am WE hab ich mir auch mal zwei Shelly bestellt, beim beiläufig mitlesen mein ich mitgenommen zu haben das ein flashen beim Shelly nicht nötig ist einfach nur MQTT aktivieren oder ist dem nicht so ?.

Was auch noch im Kopf geblieben ist nachzulesen wie man dem  Shelly vor der ersten Inbetriebnahme die Möglichkeit nimmt nach Hause zu telefonieren (da war was mit Standortbezogenen Daten die der Shelly anfang direkt schickt) ?

Gruß

Thomas


Beta-User

@TomLee: Schon aus versicherungstechnischer Sicht ist es besser, den von dir vorgeschlagenen Weg zu nutzen und stock firmware zu nutzen, aber das Thema ist hier bereits "gegessen".

Das Problem dürfte hier sein, dass 
attr EZ_Leseecke_Rechts subscribeReading_Licht Smarthome/EZ_Leseecke_Rechts/POWER nicht die richtige subscription sein dürfte ("tele"?) => selber debuggen...
Ansonsten kann man sich mit den Tasmotas des Leben in FHEM dadurch erleichtern, dass man die auf Kleinschreibung umstellt. Die passenden SetOptions bei Interesse bitte selber zusammensuchen oder die file mqtt2.template analysieren, da gibt es ein template, das das über ein MQTT2-IO entsprechend publisht (die commandos wären für 00_MQTT anzupassen).
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

hsepm

Zitat von: TomLee am 26 April 2019, 12:13:53
Hallo,

am WE hab ich mir auch mal zwei Shelly bestellt, beim beiläufig mitlesen mein ich mitgenommen zu haben das ein flashen beim Shelly nicht nötig ist einfach nur MQTT aktivieren oder ist dem nicht so ?.

Was auch noch im Kopf geblieben ist nachzulesen wie man dem  Shelly vor der ersten Inbetriebnahme die Möglichkeit nimmt nach Hause zu telefonieren (da war was mit Standortbezogenen Daten die der Shelly anfang direkt schickt) ?

Gruß

Thomas

Shelly 1 kann MQTT mit der Standard-Firmware. Sobald MQTT eingeschaltet ist, wird die Cloud-Verbindung still gelegt.
Die standortbezogenen Daten (Geokoordinaten, lokale Zeit) werden erzeugt und benötigt, damit die Cloud-Automatisierungen funktionieren, z.B. Weekly Schedule. Kannst du aber auch in der Weboberfläche des Shelly 1 löschen, wenn die Cloud deaktiviert ist.

TomLee


rudolfkoenig

ZitatIch sehe das problem auch eher nich tim MQTT Broker sondern eher in FHEM.
Ok, dann nochmal deutlicher:
MQTT und MQTT_DEVICE sind FHEM Module, die aufwendig zu installieren/konfigurieren sind und nicht mehr aktiv weiterentwickelt werden.
Um den Einsteigern und uns, den Supportern, das Leben zu erleichtern, habe ich die MQTT2 Serie (MQTT2_SERVER/MQTT2_CLIENT/MQTT2_DEVICE) gebaut, die z.Bsp. die readings automatisch anlegt, und fuer die Befehle/Anzeige/Icons viele fertige Beispielkonfigurationen mitbringt (siehe attrTemplates, betreut von Beta-User).

Man kann alles auch mit den alten MQTT Modulen loesen, ist halt nur zeitintensiver / aufwendiger.

TomLee

#9
Zitat@TomLee: Schon aus versicherungstechnischer Sicht ist es besser, den von dir vorgeschlagenen Weg zu nutzen und stock firmware zu nutzen, aber das Thema ist hier bereits "gegessen".

Seit Erkenntnis der fehlenden galvanischen Trennung bei den Shellys ( also keine Nutzung der GPIOs für Sensoren möglich) ist es für mich auch sinnfrei eigene Firmware zu flashen um MQTT dann damit zu aktivieren/nutzen.