Panstamp sendet nicht regelmäßig

Begonnen von tuxinator, 13 Mai 2015, 13:06:34

Vorheriges Thema - Nächstes Thema

tuxinator

Hallo Panstamp Nutzer,

ich habe letzte Woche endlich meine ersten Vegetronix Bodenfeuchtesensoren mit Panstamp Anbindung installiert. NAch anfänglicher Begeisterung, wie einfach das funktioniert hat, hab ich nun aber leider ein Problem: den ersten halben Tag haben meine Sensoren brav alle 4 Minuten ihre Daten gemeldet, dann gabs mal plötzlich Aussetzer von ca. 30 - 90 Minuten. Gestern dann überhaupt nur noch 2 Werte und jetzt scheint von selbst gar nichts mehr anzukommen. An der Reichweite kanns nicht liegen. Ich hab die Sensoren schon in der Nähe des PanSticks plaziert und wenn ich auf "sync" drücke, dann melden sie auch brav ihre Daten. Dann ist aber wieder Funkstille.

Hat vielleicht irgendjemand eine Idee, wo hier das Problem liegen könnte?

LG,
Jürgen

justme1968

siehst du etwas im log?

zeig mal bitte ein list auf das panstamp  und das swap device

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

tuxinator

Hier sind mal die Ergebnisse des lists auf panstamp und swap device:


Internals:
   Clients    :SWAP:
   DEF        /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9MXPJR7-if00-port0@38400
   DeviceName /dev/serial/by-id/usb-FTDI_FT232R_USB_UART_A9MXPJR7-if00-port0@38400
   FD         11
   FWVersion  102
   HWVersion  100
   LQI        65
   NAME       panStick
   NR         30
   NR_CMD_LAST_H 1
   PARTIAL
   RAWMSG     (D141)004B0038004B0C01440196
   RSSI       -97.5
   STATE      Initialized
   TYPE       panStamp
   address    01
   channel    00
   nonce      0
   panStick_MSGCNT 30
   panStick_TIME 2015-05-13 21:38:41
   syncword   B547
   Matchlist:
     1:SWAP     ^.*
   Readings:
     2015-05-13 18:33:27   state           opened
   XMIT_TIME:
     1431534818
Attributes:
   group      dongles
   icon       cul_cul
   verbose    5



Internals:
   DEF        4B
   Developer  panStamp
   IODev      panStick
   LASTInputDev panStick
   MSGCNT     30
   NAME       eg_feuchte_swap
   NR         188
   Product    Soil moisture sensor
   STATE      9.3% 15.4%
   SWAP_MISSED 21
   SWAP_Sent_unconfirmed 1 Sent_unconfirmed
   SWAP_lastRcv 2015-05-13 21:38:41
   SWAP_lastSend 2015-05-13 18:33:38
   SWAP_nonce 38
   TYPE       SWAP
   addr       4B
   devices
   panStick_LQI 65
   panStick_MSGCNT 30
   panStick_RAWMSG (D141)004B0038004B0C01440196
   panStick_RSSI -97.5
   panStick_TIME 2015-05-13 21:38:41
   Readings:
     2015-05-13 21:34:26   0B-Voltage      0CCA
     2015-05-13 21:38:41   0C.0-Moisture_level_0 0144
     2015-05-13 21:38:41   0C.1-Moisture_level_1 0196
     2015-05-13 21:38:41   Level0_Voltage  1.044140625
     2015-05-13 21:38:41   Level1_Voltage  1.3083984375
     2015-05-13 21:38:41   VWC_1           9.3
     2015-05-13 21:38:41   VWC_2           15.4
     2015-05-08 14:00:37   VWC_A           22
     2015-05-08 14:00:37   VWC_B           12
     2015-05-13 21:34:26   battery         ok
     2015-05-13 10:47:27   state           set-statusRequest
     2015-05-13 21:34:26   voltage         3.274
   Product:
     label      Soil moisture sensor
     name       soilmoisture
     pwrdownmode 1
     Registers:
       11:
         hwmask
         name       Voltage supply
         swversion
         type       regular
         endpoints:
           HASH(0x2b480b0)
       12:
         hwmask
         name       Moisture
         swversion
         type       regular
         endpoints:
           HASH(0x2b481d8)
           HASH(0x2b45c78)
   sentList:
     ARRAY(0x2b48090)
Attributes:
   IODev      panStick
   ProductCode 000000010000000E
   icon       sani_water_hot
   room       SWAP
   stateFormat {sprintf("%.1f",ReadingsVal($name,"VWC_1",0))."% ".sprintf("%.1f",ReadingsVal($name,"VWC_2",0))."%"}
   userReadings Level0_Voltage {hex(ReadingsVal($name,"0C.0-Moisture_level_0","0"))*(3.3/1024)}, Level1_Voltage {hex(ReadingsVal($name,"0C.1-Moisture_level_1","0"))*(3.3/1024)}, VWC_1:0C.0-Moisture_level_0 {sprintf("%.1f", moistureLevel(ReadingsVal($name,"Level0_Voltage","0")) )}, VWC_2:0C.1-Moisture_level_1 {sprintf("%.1f", moistureLevel(ReadingsVal($name,"Level1_Voltage","0")) )}, voltage:0B-Voltage {hex(ReadingsVal($name,"0B-Voltage","0"))*0.001}, battery:0B-Voltage {(ReadingsVal($name,"voltage","0")<1?"low":"ok")}


Interessanterweise hat er heute Nachmittag wieder begonnen Daten zu übertragen. Allerdings nicht permanent. Hier ist nochmal ein Auszug aus dem Logfile. Man beachte die Lücke zwischen 16:32 und 17:02 Uhr.


2015.05.13 16:02:25 4: eg_feuchte_swap -> broadcast (0,0-9A): status eg_feuchte_swap 0C:00F4017F
2015.05.13 16:06:40 4: eg_feuchte_swap -> broadcast (0,0-9C): status eg_feuchte_swap 0C:00FF0188
2015.05.13 16:06:40 4: eg_feuchte_swap -> broadcast (0,0-9D): status eg_feuchte_swap 0B:0CB7
2015.05.13 16:15:11 4: eg_feuchte_swap -> broadcast (0,0-A0): status eg_feuchte_swap 0C:00F60189
2015.05.13 16:19:26 4: eg_feuchte_swap -> broadcast (0,0-A3): status eg_feuchte_swap 0B:0CC0
2015.05.13 16:23:42 4: eg_feuchte_swap -> broadcast (0,0-A5): status eg_feuchte_swap 0B:0CCA
2015.05.13 16:32:12 4: eg_feuchte_swap -> broadcast (0,0-A8): status eg_feuchte_swap 0C:00F80186
2015.05.13 17:02:00 4: eg_feuchte_swap -> broadcast (0,0-B6): status eg_feuchte_swap 0C:00FB0182
2015.05.13 17:02:00 4: eg_feuchte_swap -> broadcast (0,0-B7): status eg_feuchte_swap 0B:0CD3
2015.05.13 17:06:16 4: eg_feuchte_swap -> broadcast (0,0-B8): status eg_feuchte_swap 0C:00F80183
2015.05.13 17:06:16 4: eg_feuchte_swap -> broadcast (0,0-B9): status eg_feuchte_swap 0B:0CD3
2015.05.13 17:10:31 4: eg_feuchte_swap -> broadcast (0,0-BA): status eg_feuchte_swap 0C:00FD0182
2015.05.13 17:10:31 4: eg_feuchte_swap -> broadcast (0,0-BB): status eg_feuchte_swap 0B:0CCA
2015.05.13 17:14:46 4: eg_feuchte_swap -> broadcast (0,0-BC): status eg_feuchte_swap 0C:00FC0184
2015.05.13 17:14:46 4: eg_feuchte_swap -> broadcast (0,0-BD): status eg_feuchte_swap 0B:0CC0
2015.05.13 17:19:02 4: eg_feuchte_swap -> broadcast (0,0-BE): status eg_feuchte_swap 0C:00F90183
2015.05.13 17:19:02 4: eg_feuchte_swap -> broadcast (0,0-BF): status eg_feuchte_swap 0B:0CD3
2015.05.13 17:27:33 4: eg_feuchte_swap -> broadcast (0,0-C2): status eg_feuchte_swap 0C:00FD0183
2015.05.13 17:27:33 4: eg_feuchte_swap -> broadcast (0,0-C3): status eg_feuchte_swap 0B:0CCA
2015.05.13 17:31:48 4: eg_feuchte_swap -> broadcast (0,0-C4): status eg_feuchte_swap 0C:00FF017D
2015.05.13 17:31:48 4: eg_feuchte_swap -> broadcast (0,0-C5): status eg_feuchte_swap 0B:0CC0
2015.05.13 17:36:03 4: eg_feuchte_swap -> broadcast (0,0-C6): status eg_feuchte_swap 0C:01050181
2015.05.13 17:36:03 4: eg_feuchte_swap -> broadcast (0,0-C7): status eg_feuchte_swap 0B:0CD3
2015.05.13 17:40:19 4: eg_feuchte_swap -> broadcast (0,0-C8): status eg_feuchte_swap 0C:0103017F
2015.05.13 17:40:19 4: eg_feuchte_swap -> broadcast (0,0-C9): status eg_feuchte_swap 0B:0CC0
2015.05.13 17:44:34 4: eg_feuchte_swap -> broadcast (0,0-CA): status eg_feuchte_swap 0C:0103017F
2015.05.13 17:44:34 4: eg_feuchte_swap -> broadcast (0,0-CB): status eg_feuchte_swap 0B:0CD3
2015.05.13 17:48:50 4: eg_feuchte_swap -> broadcast (0,0-CC): status eg_feuchte_swap 0C:01040181
2015.05.13 17:48:50 4: eg_feuchte_swap -> broadcast (0,0-CD): status eg_feuchte_swap 0B:0CC


LG,
Jürgen

tuxinator

Das Verhalten ist seltsam. Mal kommen für einige Stunden Regelmäßig Daten an, dann wieder nicht.

Was bedeutet in dem Zusammenhang eigentlich der Wert "SWAP_MISSED"?

LG,
Jürgen

Tobias

um dem auf den GRund zu gehen würde ich als erstens Checken, ob der Panstamp in der Zeit ohne Datenübertragung überhaupt sendet. Änder mal den Sketch so, das bei jedem Senden die LED kurz aufleuchtet. In Zeiten des Nicht-Empfangens müsst du nun nur noch prüfen, ob innerhalb deiner 4 minuten die LED aufleuchtet oder nicht.
Das grenzt die Fehlersuche immens ein.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

justme1968

dein rssi wert von -97.5 ist ziemlich schlecht. vermutlich schlechter als für einen regelmässigen zuverlässigen empfang nötig.

SWAP_MISSED ist eine abschätzung der nicht empfangenen nachrichten. jede swap nachricht hat eine seriennummer die bei jeder nachricht im eins weiter gezählt wird. wenn auf empfangsseite der zähler nicht kontinuierlich ist wird die anzahl der verpassten nachrichten in SWAP_MISSED protokoliert. abschätzung deshalb weil der zähler nur 8 bit gross ist und zum anderen weil er nur rückwirkend ausgewertet werden kann wenn mal wieder eine nachricht durch kommt.

bring den sensar mal näher an den panstick und schau on der rssi wert besser wird. kontrolliere ob die antennen die richtige länge haben und richtig angelötet sind.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968