[Bugs] 00_MQTT2_SERVER / 10_MQTT2_DEVICE

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

Vorheriges Thema - Nächstes Thema

pink99panther

Das Problem ist ja jetzt weg.
Die readingList wird ja jetzt richtig erzeugt.
Wollte nur Bescheid sagen, dass es hier geklemmt hat (unvollständige Einträge vor dem ersten Stylewechsel)

fruemmel

Hallo,

im Modul 00_MQTT2_Server hat sich wohl ein Fehler eingeschlichen. Das Attribut keepaliveFactor wird nicht ausgewertet, da in Zeile 85 die Funktion AttrVal als erstem Parameter mit dem Hash und nicht mit dem Namen aufgerufen wird:
my $multiplier = AttrVal($hash, "keepaliveFactor", 1.5);
Sollte m.E. so aussehen:
my $multiplier = AttrVal($hash->{NAME}, "keepaliveFactor", 1.5);
Wäre schön, wenn das ein Profi prüfen und ggfls. korrigieren und einchecken könnte.

Gruß Wolfgang

rudolfkoenig

Danke fuer den Hinweis, habs eingecheckt

Karflyer

Ich habe immer wieder eine Fehlermeldung im Log nachdem ich das folgende MQTT2-Device selbst angelegt habe:
Internals:
   CHANGED   
   DEVICETOPIC application/1/device/00e0060e9fdea2c4
   FUUID      5dfb7a62-f33f-bb67-2808-d9f2812f1987e178
   FVERSION   10_MQTT2_DEVICE.pm:0.207940/2019-12-21
   IODev      MQTT2_CLIENT
   LASTInputDev MQTT2_CLIENT
   MQTT2_CLIENT_MSGCNT 4
   MQTT2_CLIENT_TIME 2019-12-23 08:37:53
   MSGCNT     4
   NAME       lora_heltec32
   NR         737
   STATE      T: 14.5 °C H: 63 % di: 0 do: 0
   TYPE       MQTT2_DEVICE
   JSONMAP:
     object_digitalInput_3 DI
     object_digitalOutput_4 DO
     object_humiditySensor_2 humidity
     object_temperatureSensor_1 temperature
   READINGS:
     2019-12-23 08:37:53   DI              0
     2019-12-23 08:37:53   DO              0
     2019-12-23 08:42:09   activ           1
     2019-12-23 08:37:53   adr             true
     2019-12-23 08:37:53   applicationID   1
     2019-12-23 08:37:53   applicationName lora_lpp_app
     2019-12-23 08:37:53   data            AWcAkQJofgMAAAQBAA==
     2019-12-23 08:37:53   devEUI          00e0060e9fdea2c4
     2019-12-23 08:37:53   deviceName      heltec32
     2019-12-23 08:37:53   fCnt            0
     2019-12-23 08:37:53   fPort           1
     2019-12-23 08:37:53   humidity        63
     2019-12-23 08:37:53   rxInfo_1_gatewayID b827ebfffecdeefa
     2019-12-23 08:37:53   rxInfo_1_loRaSNR 8.8
     2019-12-23 08:37:53   rxInfo_1_location_altitude 116
     2019-12-23 08:37:53   rxInfo_1_location_latitude 48.92664
     2019-12-23 08:37:53   rxInfo_1_location_longitude 8.3679
     2019-12-23 08:37:53   rxInfo_1_name   lorawan-gateway
     2019-12-23 08:37:53   rxInfo_1_rssi   -71
     2019-12-22 20:47:06   rxInfo_1_time   2019-12-22T20:29:28.770642Z
     2019-12-23 08:37:53   rxInfo_1_uplinkID bdad8503-7e80-4262-803e-f692c4b4e0f2
     2019-12-23 08:37:53   temperature     14.5
     2019-12-23 08:37:53   txInfo_dr       5
     2019-12-23 08:37:53   txInfo_frequency 867100000
Attributes:
   DbLogExclude .*
   IODev      MQTT2_CLIENT
   autocreate 0
   devicetopic application/1/device/00e0060e9fdea2c4
   event-on-change-reading .*
   event-on-update-reading temperature
   jsonMap    object_temperatureSensor_1:temperature
object_humiditySensor_2:humidity
object_digitalInput_3:DI
object_digitalOutput_4:DO
   readingList $DEVICETOPIC/rx:.* { json2nameValue($EVENT, '', $JSONMAP) }
   readingsWatcher 900,,temperature
   room       MQTT
   stateFormat T: temperature °C H: humidity % di: DI do: DO


Die Fehlermeldung sieht so aus:
2019.12.23 08:33:58 1: PERL WARNING: Use of uninitialized value $cid in concatenation (.) or string at ./FHEM/10_MQTT2_DEVICE.pm line 520.
2019.12.23 08:33:58 1: stacktrace:
2019.12.23 08:33:58 1:     main::__ANON__                      called by ./FHEM/10_MQTT2_DEVICE.pm (520)
2019.12.23 08:33:58 1:     main::MQTT2_DEVICE_delReading       called by ./FHEM/10_MQTT2_DEVICE.pm (537)
2019.12.23 08:33:58 1:     main::MQTT2_DEVICE_addReading       called by ./FHEM/10_MQTT2_DEVICE.pm (463)
2019.12.23 08:33:58 1:     main::MQTT2_DEVICE_Attr             called by fhem.pl (3754)
2019.12.23 08:33:58 1:     main::CallFn                        called by fhem.pl (2996)
2019.12.23 08:33:58 1:     main::CommandAttr                   called by fhem.pl (1242)
2019.12.23 08:33:58 1:     main::AnalyzeCommand                called by ./FHEM/01_FHEMWEB.pm (2685)
2019.12.23 08:33:58 1:     main::FW_fC                         called by ./FHEM/01_FHEMWEB.pm (913)
2019.12.23 08:33:58 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (582)
2019.12.23 08:33:58 1:     main::FW_Read                       called by fhem.pl (3754)
2019.12.23 08:33:58 1:     main::CallFn                        called by fhem.pl (754)


ich sehe nicht was die Fehlermeldung verursacht (was fehlt). Hat jemand eine Idee?

Gruß
Stefan

rudolfkoenig

Die Fehlermeldung wurde vom fehlenden clientId in der Definition verursacht, und ist ein Fehler im Modul, was ich jetzt hoffentlich behoben habe.
Danke fuer die Meldung.