[erldigt] Licht an nach Neustart vom mosquitto an Tasmota und Zigbee2mqtt Device

Begonnen von jay-jey, 30 April 2020, 14:41:40

Vorheriges Thema - Nächstes Thema

jay-jey

Hallo,
weiß grad nicht so recht wo ich das Problem einordnen soll daher mal hier. Also ich möchte/muss meinen Raspberry von Zeit zu Zeit mal neustarten. Ich hatte jetzt einfach nen reboot in den crontab eingetragen. Das Problem ist nur, das jetzt um 3:00 Nachts ein paar Lichter angehen. Im log von FHEM finde ich dazu erstmal nichts und ich weiß auch noch nicht so ganz ob es ein Problem von FHEM oder MQTT oder den Zigbee2mqtt bzw. Tasmota ist. Da es sowohl bei Tasmota Lichtern als auch ZigbeeLichtern passiert würde ich diese aber mal ausschließen.
Ich weiß jetzt aber auch nicht so recht wo und wie ich anfangen soll zu suchen. Hab ihr da Tipps?

hier mal ein list von zwei der entsprechenden Lampen:



Internals:
   DEF        LED1650R5 0x000b57fffe88e3ab Flur_Decke_1
   FRIENDLYNAME Flur_Decke_1
   FUUID      5db41d5d-f33f-6fd6-7446-7e18b92de467df06
   IODev      MQTT
   MODEL      LED1650R5
   NAME       0x000b57fffe88e3ab
   NOTIFYDEV  LED1650R5 0x000b57fffe88e3ab Flur_Decke_1
   NR         110
   SID        0x000b57fffe88e3ab
   STATE      OFF
   TYPE       XiaomiMQTTDevice
   Helper:
     DBLOG:
       brightness:
         DBLogging:
           TIME       1588209180.56936
           VALUE      254
       linkquality:
         DBLogging:
           TIME       1588209180.56936
           VALUE      36
       state:
         DBLogging:
           TIME       1588209180.56936
           VALUE      OFF
       transmission-state:
         DBLogging:
           TIME       1588209180.45767
           VALUE      incoming publish received
       update_available:
         DBLogging:
           TIME       1588209180.56936
           VALUE      false
   READINGS:
     2020-04-30 03:13:00   brightness      254
     2020-04-30 03:13:00   linkquality     36
     2020-04-30 03:13:00   state           OFF
     2020-04-30 03:13:00   transmission-state incoming publish received
     2020-04-30 03:13:00   update_available false
   message_ids:
   subscribe:
     zigbee2mqtt/Flur_Decke_1
     xiaomi/0x000b57fffe88e3ab/#
   subscribeExpr:
     ^zigbee2mqtt\/Flur_Decke_1$
     ^xiaomi\/0x000b57fffe88e3ab.*$
   subscribeQos:
     xiaomi/0x000b57fffe88e3ab/# 0
     zigbee2mqtt/Flur_Decke_1 0
Attributes:
   IODev      MQTT
   alias      Flur_Decke_1
   room       7_Flur,XiaomiMQTTDevice
   webCmd     on:off

und
Internals:
   FUUID      5e9c8523-f33f-6fd6-6d6b-8bf52ffbccd4a6a7
   IODev      MQTT
   NAME       WZ_Esstisch_1
   NR         192
   STATE      OFF
   TYPE       MQTT_DEVICE
   Helper:
     DBLOG:
       LWT:
         DBLogging:
           TIME       1588208869.82752
           VALUE      Online
       RESULT:
         DBLogging:
           TIME       1588228716.45444
           VALUE      {"POWER":"OFF"}
       STATE:
         DBLogging:
           TIME       1588228716.58174
           VALUE      OFF
       state:
         DBLogging:
           TIME       1588228716.23543
           VALUE      OFF
       transmission-state:
         DBLogging:
           TIME       1588228716.51056
           VALUE      incoming publish received
   READINGS:
     2020-04-19 19:17:16   Color_White     00000000FF
     2020-04-28 08:40:33   Dimmer          0
     2020-04-30 03:07:49   LWT             Online
     2020-04-30 08:38:36   RESULT          {"POWER":"OFF"}
     2020-04-30 08:38:36   STATE           OFF
     2020-04-30 08:38:36   state           OFF
     2020-04-30 08:38:36   transmission-state incoming publish received
   message_ids:
   publishSets:
     :
       topic      cmnd/WZ_Esstisch_1/power
       values:
         on
         off
     Color_White:
       topic      cmnd/WZ_Esstisch_1/Color
       values:
         00000000FF
         000000FF00
     Dimmer:
       topic      cmnd/WZ_Esstisch_1/Dimmer
       values:
         slider,0,1,100
     RGB:
       topic      cmnd/WZ_Esstisch_1/Color
       values:
         colorpicker,HSV
   sets:
     Color_White 00000000FF,000000FF00
     Dimmer     slider,0,1,100
     RGB        colorpicker,HSV
     off       
     on         
   subscribe:
     1
     tele/WZ_Esstisch_1/LWT
     stat/WZ_Esstisch_1/RESULT
     stat/WZ_Esstisch_1/POWER
   subscribeExpr:
     ^1$
     ^tele\/WZ_Esstisch_1\/LWT$
     ^stat\/WZ_Esstisch_1\/RESULT$
     ^stat\/WZ_Esstisch_1\/POWER$
   subscribeQos:
     1         
     stat/WZ_Esstisch_1/POWER 0
     stat/WZ_Esstisch_1/RESULT 0
     tele/WZ_Esstisch_1/LWT 0
   subscribeReadings:
     stat/WZ_Esstisch_1/POWER:
       cmd       
       name       STATE
     stat/WZ_Esstisch_1/RESULT:
       cmd       
       name       RESULT
     tele/WZ_Esstisch_1/LWT:
       cmd       
       name       LWT
Attributes:
   IODev      MQTT
   autoSubscribeReadings 1
   devStateIcon {Color_devStateIcon(ReadingsVal($name,"RGB","000000"))}
   publishSet on off cmnd/WZ_Esstisch_1/power
   publishSet_Color_White 00000000FF 000000FF00 cmnd/WZ_Esstisch_1/Color
   publishSet_Dimmer slider,0,1,100 cmnd/WZ_Esstisch_1/Dimmer
   publishSet_RGB colorpicker,HSV cmnd/WZ_Esstisch_1/Color
   room       3_Wohnzimmer,Hardware
   subscribeReading_LWT tele/WZ_Esstisch_1/LWT
   subscribeReading_RESULT stat/WZ_Esstisch_1/RESULT
   subscribeReading_STATE stat/WZ_Esstisch_1/POWER
   webCmd     RGB:ON:OFF:Dimmer:Color_White
   widgetOverride RGB:colorpicker,RGB Dimmer:slider,0,1,100

moskito

Als Workaround kannst du ja erst mal mit dem Event "global:INITIALIZED" oder so gegen 03:05 die Lichter erstmal wieder ausschalten, löst aber natürlich nicht das Problem.
Tritt der Effekt auch auf, wenn du nur FHEM neu startest?
Sind es immer die selben Lampen?
Sind die wahren Zustände und die Zustände in FHEM nach dem Neustart konsistent, oder gibt es da Unterschiede? Bedeutet die Lampe leuchtet, wird aber in FHEM als aus angezeigt.
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

Frank_Huber

Ich vermute dein fhem wird nicht sauber beendet und dadurch verlierst Du dein statefile.
Versuche das mal vor dem beenden das statefile zu sichern.

Gesendet von meinem S68Pro mit Tapatalk


jay-jey

hallo, Danke für die Antworten.

hab jetzt mal die Teile einzeln beendet. hätte ich auch vorher drauf kommen können.

Also mein Problem hängt wohl mit mosquitto zusammen wenn ich den broker neu starte gehen die lichter an. Kann ich irgendwo sehen was mosquitto beim Neustart macht?

moskito

Da kann ich jetzt nicht mehr viel zu beitragen, aber du kannst den Thread dann besser nach MQTT verschieben (Links unten->Thema verschieben).
https://forum.fhem.de/index.php/board,94.0.html
FHEM auf Intel NUC/Proxmox & Debian 12 + HM-CFG-USB + zigbee2mqtt + Zwave + Enocean

Beta-User

Mit den MQTT-alt-Modulen (oder diesem Xiaomi-Dingens) kenne ich mich nicht aus, aber vermutlich hängt das damit zusammen, dass die Messages an den Tasmota/an zigbee2mqtt jeweils mit "retain"-Flag gesendet werden, also auf dem Server auch nach der Auslieferung verfügbar bleiben.

Schau mal nach, ob sich das irgendwo abschalten läßt (evtl. auch am IO).

Ansonsten wäre meine Empfehlung, auch noch den Titel zu ändern, damit klarer wird, dass es eine Frage zum Broker "mosquitto" bzw. zu MQTT_DEVICE &Co ist.
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

jay-jey

Hallo,

so hab mal etwas nachgeforscht und ein komisches Verhalten gesehen bei meinen Tasmota Leuchten:

Wenn ich den Service für mosquitto neu starte dann bekomme ich am Tasmota device folgendes auf der console:

8:41:34 MQT: stat/WZ_Esstisch_1/POWER = OFF
08:42:05 MQT: Attempting connection...
08:42:05 MQT: Connected
08:42:05 MQT: tele/WZ_Esstisch_1/LWT = Online (retained)
08:42:05 MQT: cmnd/WZ_Esstisch_1/POWER =
08:42:05 MQT: stat/WZ_Esstisch_1/RESULT = {"POWER":"OFF"}
08:42:05 MQT: stat/WZ_Esstisch_1/POWER = OFF
08:42:05 MQT: stat/WZ_Esstisch_1/RESULT = {"POWER":"ON","Dimmer":100,"Color":"000000FF","HSBColor":"0,0,0","White":100,"Channel":[0,0,0,100]}


in FHEM bleibt der State aber auf off:
   READINGS:
     2020-04-19 19:17:16   Color_White     00000000FF
     2020-04-28 08:40:33   Dimmer          0
     2020-05-01 09:43:16   LWT             Online
     2020-05-01 09:41:34   RESULT          {"POWER":"OFF"}
     2020-05-01 09:41:34   STATE           OFF
     2020-04-30 23:28:50   state           OFF
     2020-05-01 09:43:15   transmission-state incoming publish received


(ich weiß die Zeiten haben 1 Stunde unterschied, aber das ist mir erstmal egal).
Also ich hab um 09:41:30 die Lampe ausgeschaltet dann den Broker neugestartet. In Mqtt-fx sehe ich keine Befehle die zur Lampe gesendet werden.

jay-jey

retain bzw. retained messages war das Lösungswort :)

hab jetzt einfach mal die mosquitto.db gelöscht.

Also
sudo systemctl stop mosquitto.service

dann
sudo rm /var/lib/mosquitto/mosquitto.db
dann
sudo systemctl start mosquitto.service

und siehe da bei einem
sudo systemctl restart mosquitto.service

bleibt alles so wie es ist. Mal sehen wie lange.