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
siehst du etwas im log?
zeig mal bitte ein list auf das panstamp und das swap device
gruß
andre
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
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
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.
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