[Bugs] 00_MQTT2_SERVER / 10_MQTT2_DEVICE

Begonnen von betateilchen, 10 August 2018, 18:01:33

Vorheriges Thema - Nächstes Thema

cc13

Nachdem es mit dem MQTT auf dem NAS funktionierte, habe ich es wieder mit dem mqtt2 in fhem verbunden. Außerdem steckt die Steckdose jetzt an einem anderen Ort (weiter weg vom Router), die Meldungen kommen nicht mehr.

Meine Anfrage kann also erstmal zu den Akten gelegt werden.

Danke.

majorshark

Ich habe mal eine Frage zum Attribut "keepaliveFactor".
So wie es sehe bezieht sich das Attribut auf den gesamten MQTT2 Server. Wie könnte man dann den "keepalive check" für einen bestimmten Client abschalten oder ändern?
Hintergrund ist ein MQTT-Client der auf Akku läuft und deswegen die meiste Zeit im DeepSleep ist. Dieser ist dann logischerweise für den Server nicht mehr erreichbar. Wenn ich die keepalive Zeit auf diesen Client ausrichte, wäre das kontraproduktiv für die Überprüfung der restlichen Clients.
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

rudolfkoenig

#242
ZitatWie könnte man dann den "keepalive check" für einen bestimmten Client abschalten oder ändern?
Das ist z.Zt. nicht moeglich.
Ich empfehle keepAlive im Client anzupassen, eigentlich ist das auch die richtige Stelle dafuer.

Nachtrag:
ZitatDieser ist dann logischerweise für den Server nicht mehr erreichbar.
Das ist falsch formuliert. keepAlive ist ein Versprechen des Clients, alle X Sekunden sich zu melden, der Server versucht keine Kommunikation mit dem Client.

majorshark

ZitatDas ist z.Zt. nicht moeglich.
Ich empfehle keepAlive im Client anzupassen, eigentlich ist das auch die richtige Stelle dafuer.

Ah, ok. Das ist eigentlich logisch, das das der Client dem Server mitteilen sollte wann er gedenkt sich wieder zu melden. Mal sehen ob das ESPEasy überhaupt kann.

Danke
Grüße aus Dewitz

VM auf Synology DS718+ mit FHEM 5.9 auf Debian 9.5/32-Bit (stretch)
Nächster Leipziger Stammtisch:

juppzupp

Zitat von: rudolfkoenig am 26 August 2018, 16:42:06
Ich vermute es dauert 1-2 Stunden Doku Lesen, Implementieren, und Testen.
Kann man es bei esp-link nicht abschalten?
Müsste nochmal nachfragen, wie das genau gemeint ist ?
Habe eine Gosund sp111 mit espurna 1.13.5, undes sieht auch so aus.
tasmota/mqtt funktioniert, macht dafür aber probleme im/mit dem wlan.

logfile :
2019.03.14 18:14:49 2: mqtt_server_192.168.0.111_6227 wants unclean session, disconnecting
2019.03.14 18:15:44 4: Connection accepted from mqtt_server_192.168.0.111_2359
2019.03.14 18:15:44 2: mqtt_server_192.168.0.111_2359 wants unclean session, disconnecting
2019.03.14 18:16:44 4: Connection accepted from mqtt_server_192.168.0.111_29802
2019.03.14 18:16:44 2: mqtt_server_192.168.0.111_29802 wants unclean session, disconnecting


event monitor :
2019-03-14 18:18:59 MQTT2_SERVER mqtt_server nrclients: 1
2019-03-14 18:18:59 MQTT2_SERVER mqtt_server nrclients: 0


list :


Internals:
   CONNECTS   17
   DEF        1883 global
   FD         9
   NAME       mqtt_server
   NR         20
   PORT       1883
   STATE      Initialized
   TYPE       MQTT2_SERVER
   Helper:
     DBLOG:
       nrclients:
         logdb:
           TIME       1552584014.52619
           VALUE      0
   READINGS:
     2019-03-14 18:20:14   nrclients       0
     2019-03-14 18:09:07   state           Initialized
   clients:
   retain:
Attributes:
   autocreate 1
   verbose    5


danke.

rudolfkoenig

2019.03.14 18:14:49 2: mqtt_server_192.168.0.111_6227 wants unclean session, disconnectingDas Problem sollte seit einem Monat nicht mehr vorkommen (siehe https://forum.fhem.de/index.php/topic,90145.msg898357.html#msg898357), bitte ein FHEM update durchfuehren.

juppzupp

Zitat von: rudolfkoenig am 14 März 2019, 19:06:26
2019.03.14 18:14:49 2: mqtt_server_192.168.0.111_6227 wants unclean session, disconnectingDas Problem sollte seit einem Monat nicht mehr vorkommen (siehe https://forum.fhem.de/index.php/topic,90145.msg898357.html#msg898357), bitte ein FHEM update durchfuehren.
danke. hatte vergessen das testsystem zu updaten. mea culpa.
läuft jetzt.

SamNitro

#247
Hallo, ich habe eine Steckdose am laufen wo ich nur 2 werte loggen möchte,
-POWER (on/off)
-ENERGY_Power (Verbrauch)
Internals:
   CID        DVES_2ACCCD
   DEF        DVES_2ACCCD
   DEVICETOPIC gosund_trockner
   FUUID      5c473504-f33f-19ae-cb8e-557064339709d65e
   IODev      m2s
   LASTInputDev m2s
   MSGCNT     4854
   NAME       gosund_trockner
   NR         96
   STATE      ON
   TYPE       MQTT2_DEVICE
   m2s_MSGCNT 4854
   m2s_TIME   2019-03-15 19:39:37
   Helper:
     DBLOG:
       ENERGY_Power:
         DBLogging:
           TIME       1552553132.32963
           VALUE      0
       POWER:
         DBLogging:
           TIME       1552675176.94179
           VALUE      ON
       state:
         DBLogging:
           TIME       1552562978.71787
           VALUE      POWER:
   READINGS:
     2019-03-15 19:39:37   ENERGY_ApparentPower 0
     2019-03-15 19:39:37   ENERGY_Current  0.000
     2019-03-15 19:39:37   ENERGY_Factor   0.00
     2019-03-15 19:39:37   ENERGY_Period   0
     2019-03-15 19:39:37   ENERGY_Power    0
     2019-03-15 19:39:37   ENERGY_ReactivePower 0
     2019-03-15 19:39:37   ENERGY_Today    0.000
     2019-03-15 19:39:37   ENERGY_Total    0.003
     2019-03-15 19:39:37   ENERGY_TotalStartTime 2019-03-12T18:31:36
     2019-03-15 19:39:37   ENERGY_Voltage  231
     2019-03-15 19:39:37   ENERGY_Yesterday 0.000
     2019-03-12 18:50:51   FallbackTopic   cmnd/DVES_2ACCCD_fb/
     2019-03-12 18:50:51   GroupTopic      sonoffs
     2019-03-12 18:50:51   Hostname        gosund_trockner-3277
     2019-03-12 18:50:51   IPAddress       10.1.1.45
     2019-03-15 19:38:46   LWT             Online
     2019-03-15 19:39:36   LoadAvg         19
     2019-03-12 18:50:51   Module          BlitzWolf SHP
     2019-03-12 18:29:07   OtaUrl          http://sonoff.maddox.co.uk/tasmota/sonoff.bin
     2019-03-15 19:39:36   POWER           ON
     2018-08-29 19:15:06   Restart         Restarting
     2019-03-12 18:50:51   RestartReason   Power on
     2019-03-15 19:39:36   Sleep           50
     2019-03-15 19:39:36   SleepMode       Dynamic
     2019-03-15 19:39:37   Time            2019-03-15T19:39:36
     2019-03-12 18:30:21   UPGRADE         Failed HTTP error: read Timeout
     2019-03-12 18:29:07   Upgrade         Version 6.1.1 from http://sonoff.maddox.co.uk/tasmota/sonoff.bin
     2019-03-15 19:39:36   Uptime          3T00:48:51
     2019-03-15 19:39:36   Vcc             3.448
     2019-03-12 18:50:51   Version         6.4.1(sonoff)
     2019-03-12 18:50:51   WebServerMode   Admin
     2019-03-15 19:39:36   Wifi_AP         1
     2019-03-12 18:25:40   Wifi_APMac      xxx
     2019-03-15 19:39:36   Wifi_BSSId      xxx
     2019-03-15 19:39:36   Wifi_Channel    6
     2019-03-15 19:39:36   Wifi_RSSI       68
     2019-03-15 19:39:36   Wifi_SSId       PC
     2019-03-12 18:49:11   state           off
Attributes:
   DbLogInclude POWER,ENERGY_Power
   IODev      m2s
   devStateIcon ON:black_Steckdose.on OFF:black_Steckdose.off .*:black_Steckdose.off
   devicetopic gosund_trockner
   event-on-change-reading .*
   eventMap   on:ON off:OFF
   readingList DVES_2ACCCD:tele/gosund_trockner/LWT:.* LWT
DVES_2ACCCD:cmnd/gosund_trockner/POWER:.* POWER
DVES_2ACCCD:tele/gosund_trockner/INFO1:.* { json2nameValue($EVENT) }
DVES_2ACCCD:tele/gosund_trockner/INFO2:.* { json2nameValue($EVENT) }
DVES_2ACCCD:tele/gosund_trockner/INFO3:.* { json2nameValue($EVENT) }
DVES_2ACCCD:stat/gosund_trockner/RESULT:.* { json2nameValue($EVENT) }
DVES_2ACCCD:stat/gosund_trockner/POWER:.* POWER
DVES_2ACCCD:tele/gosund_trockner/STATE:.* { json2nameValue($EVENT) }
DVES_2ACCCD:tele/gosund_trockner/SENSOR:.* { json2nameValue($EVENT) }
DVES_2ACCCD:stat/gosund_trockner/UPGRADE:.* UPGRADE
DVES_2ACCCD:tele/gosund_trockner/UPTIME:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    on cmnd/$DEVICETOPIC/POWER on
off cmnd/$DEVICETOPIC/POWER off
reboot cmnd/$DEVICETOPIC/Restart 1
   stateFormat POWER


trotz event-on-change-reading .* loggt er mir immer wieder den state POWER
2019-03-15 14:16:37 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON
2019-03-15 12:43:37 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON
2019-03-15 11:27:36 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON
2019-03-15 11:26:36 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON
2019-03-15 11:02:36 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON
2019-03-15 10:59:36 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON
2019-03-15 10:37:36 gosund_trockner MQTT2_DEVICE POWER: ON POWER ON


kann es sein weil das als Paket geloggt wird?
19:35:36 MQT: tele/gosund_trockner/STATE = {"Time":"2019-03-15T19:35:36","Uptime":"3T00:44:51","Vcc":3.454,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"POWER":"ON","Wifi":{"AP":1,"SSId":"xxx","BSSId":"xxx","Channel":6,"RSSI":68}}

Gruß Patrick
(Intel-Nuc Proxmox) (Homematic) (EnOcean) (CUL868) (CUL433) (Zigbee2MQTT) (ESP8266) (Echo) (DUOFERN)

vbs

Folgendes Verhalten beobachtet (sieht für mich ungewollt aus):

Ich hab ein MQTT2_DEVICE mit Namen "MQTT2_vibration2":
Internals:
   CFGFN     
   CID        zigbee_0x00158d0002b5f43a
   DEF        zigbee_0x00158d0002b5f43a
   DEVICETOPIC MQTT2_vibration2
   FUUID      5c8d865d-f33f-af31-34a4-4d9dca636d8e2dea
   IODev      sys_mqtt
   LASTInputDev sys_mqtt
   MSGCNT     151
   NAME       MQTT2_vibration2
   NR         1049
   STATE      Action: vibration
   TYPE       MQTT2_DEVICE
   sys_mqtt_MSGCNT 151
   sys_mqtt_TIME 2019-03-17 23:05:42
   OLDREADINGS:
   READINGS:
     2019-03-17 23:05:42   action          vibration
     2019-03-17 17:18:08   angle           83
     2019-03-17 23:05:42   angle_x         0
     2019-03-17 23:05:42   angle_x_absolute 90
     2019-03-17 23:05:42   angle_y         0
     2019-03-17 23:05:42   angle_y_absolute 90
     2019-03-17 23:05:42   angle_z         90
     2019-03-17 00:55:20   associatedWith  env_zigbee
     2019-03-17 23:05:42   battery         100
     2019-03-17 23:05:42   linkquality     55
     2019-03-17 00:55:20   set_sensitivity medium
     2019-03-17 00:55:20   state           sensitivity
     2019-03-17 23:05:42   voltage         3065
Attributes:
   IODev      sys_mqtt
   model      L_15_vibration_sensor
   readingList zigbee2mqtt/0x00158d0002b5f43a:.* { json2nameValue($EVENT) }
zigbee2mqtt/0x00158d0002b5f43a/set:.* { json2nameValue($EVENT, 'set_', $JSONMAP) }
   room       MQTT2_DEVICE
   setList    sensitivity:low,medium,high zigbee2mqtt/0x00158d0002b5f43a/set {"sensitivity": "$EVTPART1"}
   stateFormat Action: action


Jetzt mache ich ein "rename MQTT2_vibration2 MQTT2_vibration3":
Internals:
   CFGFN     
   CID        zigbee_0x00158d0002b5f43a
   DEF        zigbee_0x00158d0002b5f43a
   DEVICETOPIC MQTT2_vibration2
   FUUID      5c8d865d-f33f-af31-34a4-4d9dca636d8e2dea
   IODev      sys_mqtt
   LASTInputDev sys_mqtt
   MSGCNT     151
   NAME       MQTT2_vibration3
   NR         1049
   STATE      Action: vibration
   TYPE       MQTT2_DEVICE
   sys_mqtt_MSGCNT 151
   sys_mqtt_TIME 2019-03-17 23:05:42
   OLDREADINGS:
   READINGS:
     2019-03-17 23:05:42   action          vibration
     2019-03-17 17:18:08   angle           83
     2019-03-17 23:05:42   angle_x         0
     2019-03-17 23:05:42   angle_x_absolute 90
     2019-03-17 23:05:42   angle_y         0
     2019-03-17 23:05:42   angle_y_absolute 90
     2019-03-17 23:05:42   angle_z         90
     2019-03-17 00:55:20   associatedWith  env_zigbee
     2019-03-17 23:05:42   battery         100
     2019-03-17 23:05:42   linkquality     55
     2019-03-17 00:55:20   set_sensitivity medium
     2019-03-17 00:55:20   state           sensitivity
     2019-03-17 23:05:42   voltage         3065
Attributes:
   IODev      sys_mqtt
   model      L_15_vibration_sensor
   readingList zigbee2mqtt/0x00158d0002b5f43a:.* { json2nameValue($EVENT) }
zigbee2mqtt/0x00158d0002b5f43a/set:.* { json2nameValue($EVENT, 'set_', $JSONMAP) }
   room       MQTT2_DEVICE
   setList    sensitivity:low,medium,high zigbee2mqtt/0x00158d0002b5f43a/set {"sensitivity": "$EVTPART1"}
   stateFormat Action: action


Man beachte, dass DEVICETOPIC weiterhin "MQTT2_vibration2" ist.

Erst wenn ich dann das Define editiere (Button "DEF") und ohne etwas zu ändern "modify MQTT_vibration3" drücke, springt DEVICETOPIC um:
Internals:
   CFGFN     
   CID        zigbee_0x00158d0002b5f43a
   DEF        zigbee_0x00158d0002b5f43a
   DEVICETOPIC MQTT2_vibration3
   FUUID      5c8d865d-f33f-af31-34a4-4d9dca636d8e2dea
   IODev      sys_mqtt
   LASTInputDev sys_mqtt
   MSGCNT     151
   NAME       MQTT2_vibration3
   NR         1049
   STATE      Action: vibration
   TYPE       MQTT2_DEVICE
   sys_mqtt_MSGCNT 151
   sys_mqtt_TIME 2019-03-17 23:05:42
   OLDREADINGS:
   READINGS:
     2019-03-17 23:05:42   action          vibration
     2019-03-17 17:18:08   angle           83
     2019-03-17 23:05:42   angle_x         0
     2019-03-17 23:05:42   angle_x_absolute 90
     2019-03-17 23:05:42   angle_y         0
     2019-03-17 23:05:42   angle_y_absolute 90
     2019-03-17 23:05:42   angle_z         90
     2019-03-17 00:55:20   associatedWith  env_zigbee
     2019-03-17 23:05:42   battery         100
     2019-03-17 23:05:42   linkquality     55
     2019-03-17 00:55:20   set_sensitivity medium
     2019-03-17 00:55:20   state           sensitivity
     2019-03-17 23:05:42   voltage         3065
Attributes:
   IODev      sys_mqtt
   model      L_15_vibration_sensor
   readingList zigbee2mqtt/0x00158d0002b5f43a:.* { json2nameValue($EVENT) }
zigbee2mqtt/0x00158d0002b5f43a/set:.* { json2nameValue($EVENT, 'set_', $JSONMAP) }
   room       MQTT2_DEVICE
   setList    sensitivity:low,medium,high zigbee2mqtt/0x00158d0002b5f43a/set {"sensitivity": "$EVTPART1"}
   stateFormat Action: action


Könnt mich gerne korrigieren, aber meine Erwartung wäre gewesen, dass:
* DEVICETOPIC schon beim Umbennen mitgeführt wird
* ein Speichern des Defines, ohne etwas am Define geändert zu haben, das Gerät nicht verändert

rudolfkoenig


supernova1963

Hallo rudolfkoenig,

ist jetzt DEVICETOPIC = NAME ?

Danke,

Gernot

rudolfkoenig

Falls das eine direkte Frage war: nein.
Falls das eine rhetorische Frage war: habs (nochmal) gefixt.

supernova1963


pink99panther

Hallo,

bin im Moment dabei mein fhem auf einen neuen Raspi händisch umzuziehen.
Dabei habe ich festgestellt, dass autocreate complex unter dem Style f18 erst richtig richtig funktioniert hat,
nachdem ich den Style einmal auf dark umgestellt hatte.
Es fehlen SENSOR_, $JSONMAP in { json2nameValue($EVENT, SENSOR_, $JSONMAP) }

LG
p99p

rudolfkoenig

Im Moment wuerde ich viel Geld darauf verwetten, dass ein MQTT2/autocreate Problem nichts mit dem f18 Style zu tun hat, auch wenn die Beschreibung des Problems mehr als lueckenhaft ist.

Uebrigens: es heisst "SENSOR_" und nicht SENSOR_.