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
Am besten das neuere MQTT2 verwenden, Doku ist z.Bsp. hier https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele zu finden.
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
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 :
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
@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).
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.
Danke
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.
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.