Shelly: immer wieder autocreate und PINGREQ

Begonnen von gestein, 03 Januar 2021, 01:19:44

Vorheriges Thema - Nächstes Thema

gestein

Hallo,

ich habe alle meine Shellys über MQTTS in fhem eingebunden.
Die Gesprächigkeit habe ich ihnen mit "http://192.168.0.xx/settings?mqtt_update_period=0" abgestellt.

Aus Interesse habe ich mal "verbose 5" bei meinem MQTT2-Server aktiviert.
Immer wieder kommen "autocreate"-messages:
2021.01.03 00:54:13.741 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyplug_s_EF28FB\000shellies/shellyplug-s-EF28FB/relay/0\000off
2021.01.03 00:54:13.891 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyplug_s_EF28FB\000shellies/shellyplug-s-EF28FB/temperature\00042.46
2021.01.03 00:54:13.982 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyplug_s_EF28FB\000shellies/shellyplug-s-EF28FB/temperature_f\000108.42
2021.01.03 00:54:14.035 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyplug_s_EF28FB\000shellies/shellyplug-s-EF28FB/overtemperature\0000
2021.01.03 00:54:15.277 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/relay/0\000off
2021.01.03 00:54:15.284 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/relay/0/power\0000.00
2021.01.03 00:54:15.292 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/relay/0/energy\0000
2021.01.03 00:54:15.299 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/relay/1\000off
2021.01.03 00:54:15.305 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/relay/1/power\0000.00
2021.01.03 00:54:15.313 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/relay/1/energy\0009120
2021.01.03 00:54:15.321 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/input/0\0000
2021.01.03 00:54:15.327 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/input_event/0\000{"event":"","event_cnt":0}
2021.01.03 00:54:15.334 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/input/1\0001
2021.01.03 00:54:15.377 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/input_event/1\000{"event":"","event_cnt":0}
2021.01.03 00:54:15.385 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/temperature\00053.36
2021.01.03 00:54:15.391 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/temperature_f\000128.05
2021.01.03 00:54:15.397 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_E098068D28BC\000shellies/shellyswitch25-E098068D28BC/overtemperature\0000
2021.01.03 00:54:16.742 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_8CAAB5058CB0\000shellies/shellyswitch25-8CAAB5058CB0/relay/1/energy\0000
2021.01.03 00:54:18.309 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5056F65\000shellies/shelly1pm-8CAAB5056F65/relay/0/power\00019.22
2021.01.03 00:54:18.403 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5056F65\000shellies/shelly1pm-8CAAB5056F65/relay/0/energy\0009729
2021.01.03 00:54:18.464 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_8CAAB50596A7\000shellies/shellyswitch25-8CAAB50596A7/relay/1/energy\0000
2021.01.03 00:54:20.478 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_68C63AFB9B27\000shellies/shellyswitch25-68C63AFB9B27/relay/0/energy\0000
2021.01.03 00:54:21.404 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5056F65\000shellies/shelly1pm-8CAAB5056F65/relay/0/power\00016.88
2021.01.03 00:54:21.514 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5056F65\000shellies/shelly1pm-8CAAB5056F65/relay/0/energy\0009729
2021.01.03 00:54:22.461 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shellyswitch25_8CAAB505939A\000shellies/shellyswitch25-8CAAB505939A/relay/1/energy\0000
2021.01.03 00:54:23.328 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5056F65\000shellies/shelly1pm-8CAAB5056F65/relay/0/power\00019.18
2021.01.03 00:54:23.420 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5056F65\000shellies/shelly1pm-8CAAB5056F65/relay/0/energy\0009729
2021.01.03 00:54:23.429 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB5060AB1\000shellies/shelly1pm-8CAAB5060AB1/relay/0/energy\0001373
2021.01.03 00:54:23.865 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_D8BFC019B673\000shellies/shelly1pm-D8BFC019B673/relay/0/energy\0003006
2021.01.03 00:54:24.520 5: MQTT2_FHEM_Server: dispatch autocreate=simple\000shelly1pm_8CAAB50568DC\000shellies/shelly1pm-8CAAB50568DC/relay/0/energy\00014325


Kann das sein, dass so oft das autocreate kommt?
Insgesamt ist das eine ganz schöne Last.

Außerdem kommen noch jede Menge PINGREQ-Messages.
2021.01.03 01:15:06.145 4:   MQTT2_FHEM_Server_192.168.0.53_52979 shelly1pm-D8BFC019B673 PINGREQ
2021.01.03 01:15:06.673 4:   MQTT2_FHEM_Server_192.168.0.58_49368 shelly1pm-8CAAB5060AB1 PINGREQ
2021.01.03 01:15:07.575 4:   MQTT2_FHEM_Server_192.168.0.97_50354 shellyswitch25-68C63AFB9B27 PINGREQ
2021.01.03 01:15:07.578 4:   MQTT2_FHEM_Server_192.168.0.78_59454 shellyswitch25-E098068D2354 PINGREQ
2021.01.03 01:15:07.717 4:   MQTT2_FHEM_Server_192.168.0.55_54400 shelly1pm-D8BFC01A0D09 PINGREQ
2021.01.03 01:15:07.719 4:   MQTT2_FHEM_Server_192.168.0.54_58746 shellyswitch25-68C63AFB92BB PINGREQ
2021.01.03 01:15:08.429 4:   MQTT2_FHEM_Server_192.168.0.62_62331 shellyswitch25-E098068D4CEC PINGREQ
2021.01.03 01:15:08.952 4:   MQTT2_FHEM_Server_192.168.0.89_56259 shelly1pm-8CAAB5056B8A PINGREQ
2021.01.03 01:15:09.258 4:   MQTT2_FHEM_Server_192.168.0.77_55674 shellyswitch25-E098068D4E76 PINGREQ
2021.01.03 01:15:10.558 4:   MQTT2_FHEM_Server_192.168.0.92_54982 shellyswitch25-8CAAB50596A7 PINGREQ
2021.01.03 01:15:11.714 4:   MQTT2_FHEM_Server_192.168.0.80_51137 shellyswitch25-8CAAB505893D PINGREQ
2021.01.03 01:15:12.280 4:   MQTT2_FHEM_Server_192.168.0.93_57711 shellyswitch25-8CAAB5058CB0 PINGREQ
2021.01.03 01:15:15.104 4:   MQTT2_FHEM_Server_192.168.0.63_51910 shelly1pm-8CAAB50578BE PINGREQ
2021.01.03 01:15:15.722 4:   MQTT2_FHEM_Server_192.168.0.61_59740 shellyswitch25-8CAAB505939A PINGREQ
2021.01.03 01:15:17.580 4:   MQTT2_FHEM_Server_192.168.0.91_65499 shellyswitch25-98F4ABF35FD0 PINGREQ
2021.01.03 01:15:18.313 4:   MQTT2_FHEM_Server_192.168.0.81_65450 shellyswitch25-98F4ABF35C64 PINGREQ
2021.01.03 01:15:19.535 4:   MQTT2_FHEM_Server_192.168.0.70_55857 shellyswitch25-68D980 PINGREQ
2021.01.03 01:15:25.775 4:   MQTT2_FHEM_Server_192.168.0.51_55936 shellyix3-68C63AFA9B7B PINGREQ
2021.01.03 01:15:26.100 4:   MQTT2_FHEM_Server_192.168.0.64_61233 shellydimmer2-D8BFC019F390 PINGREQ
2021.01.03 01:15:26.797 4:   MQTT2_FHEM_Server_192.168.0.68_54461 shellyswitch25-E098068D4E95 PINGREQ
2021.01.03 01:15:27.454 4:   MQTT2_FHEM_Server_192.168.0.82_51002 shellyswitch25-E098068D43C7 PINGREQ
2021.01.03 01:15:29.017 4:   MQTT2_FHEM_Server_192.168.0.98_52415 shellydimmer2-D8BFC01A0128 PINGREQ
2021.01.03 01:15:34.650 4:   MQTT2_FHEM_Server_192.168.0.71_58731 shelly1pm-8CAAB5057256 PINGREQ
2021.01.03 01:15:35.135 4:   MQTT2_FHEM_Server_192.168.0.99_50479 shelly1pm-D8BFC019C29B PINGREQ
2021.01.03 01:15:39.870 4:   MQTT2_FHEM_Server_192.168.0.83_54696 shelly1pm-8CAAB5056CA8 PINGREQ
2021.01.03 01:15:40.015 4:   MQTT2_FHEM_Server_192.168.0.48_54868 shellyplug-s-EEE316 PINGREQ
2021.01.03 01:15:40.447 4:   MQTT2_FHEM_Server_192.168.0.94_51348 shellydimmer-D467E5 PINGREQ
2021.01.03 01:15:41.080 4:   MQTT2_FHEM_Server_192.168.0.52_61839 shellybulb-3CC29C PINGREQ


Ist es empfehlenswert mit dem Attribut "keepaliveFactor" zu spielen?
Welcher Wert wäre für die Shellys empfehlenswert?

Danke im Voraus
lg, Gerhard

Beta-User

Zitat von: gestein am 03 Januar 2021, 01:19:44
Kann das sein, dass so oft das autocreate kommt?
Jein.
Das sind "Dispatch"-Aufrufe, wobei dann eben die Info mitgegeben wird, wie ggf. (MQTT2_DEVICE) autocreate ausführen soll. Ansonsten handelt es sich einfach um eingehende Nachrichten, die halt verarbeitet werden müssen.

ZitatInsgesamt ist das eine ganz schöne Last.
Na ja, einen Teil der Infos will man ja eben auch haben...
Aber es wäre z.B. eben sinnvoll, wenn man die Fahrenheit-Werte einfach abschalten könnte (auf der Firmware). Man kann sowas übrigens auch am MQTT2_SERVER direkt mit "ignoreRegexp" rausfischen, mein Vorschlag, diesen Zweig dann mit "{}" auszuwerten ist dann etwas weiter "hinten" angesiedelt und verhindert "nur", dass dann ein Reading bzw. ein Event erzeugt wird.

Zitat
Außerdem kommen noch jede Menge PINGREQ-Messages.
Dazu kann ich im Moment wenig sagen; tendenziell dürfte das aber deutlich weniger Last erzeugen, und ich vermute auch, dass das ebenfalls weniger mit den FHEM-internen Vorgaben zu tun hat, sondern dass das eingehende Ping-Messages sind, man also was auf den Shellys einstellen müßte.

Ist aber schon interessant zu sehen, was da so zusammenkommt, wenn man etwas hinter die Kulissen schaut, oder?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

rudolfkoenig

keepaliveFactor sagt nur, wie "geduldig" der MQTT2_SERVER sein soll.

Das Problem ist hier eher, dass die Geraete zu viel senden. Man kann zwar mit etlichen Attributen erreichen, dass diese Nachrichten FHEM weniger belasten, die richtige Loesung ist aber die Nachrichtenflut an der Quelle zu begrenzen. Das entlastet alle WLAN Geraete, und so profitiert selbst der Nachbar davon.

gestein

Da hast Du vollkommen recht.
Anzusetzen ist bei den Shellys.

Noch bin ich nicht wirklich tief in MQTT drinnen.
Aber bzgl. der vielen PINGREQ.
Eigentlich sollte doch der Client ein PINGREQ an der Broker schicken und der mit PINGRESP antworten. Oder?

This connection is normally left open by the client so that is can send and receive data at any time.
If no data flows over an open connection for a certain time period then the client will generate a PINGREQ and expect to receive a PINGRESP from the broker.


PINGRESP habe ich aber noch keine gesehen.

Lg, Gerhard

rudolfkoenig

Dafuer musst Du "attr mqtt2_server verbose 5" setzen.
Keine Sorge, ohne PINGRESP waeren deine Shellies schnell beleidigt.

gestein

@Rudolf:
Ja, Du hast natürlich recht.
Um der Flut an Messages Herr zu werden, habe ich nach MQTT gefiltert.
Die log-Einträge für "PINGRESP" kommen aber ohne "MQTT".
Jede Minute kommt ein PINGREQ und das wird mit einem PINGRESP beantwortet.
Stimmt also.
Jede Minute kommt mir relativ oft vor, aber das scheint zu passen.

lg, Gerhard