Hallo liebe fhem Gemeinde,
seit heute beobachte ich einen Phänomen, was ich mir im Moment nicht erklären kann.
Ich habe einen HTTPMOD-Device über den ich einen JSON-String alle 30s ins fhem einlese. Anhand dieser Readings bilde ich mir noch ein Paar userReadings, die ich später zum Ploten verwende. Nun ist aber der HTTPMOD-Device seit gestern "offline" und die userReadings werden weiterhin brav upgedated. Warum? Ich war immer bis jetzt der Meinung, dass die userReadings nur dann upgedated werden, wenn einer der regulären Readings upgedated wird.
Hat jemand eine Idee?
Geraten: Du verwendest keinen expliziten Trigger in den userReadings und irgendein Reading ändert sich.
Analyse: nicht möglich, da kein list vom Device gezeigt wurde.
Hier ist die Liste der Readings:
dipSw_sw1 false 2017-07-18 21:59:24
dipSw_sw2 false 2017-07-18 21:59:24
dipSw_sw3 true 2017-07-18 21:59:24
dipSw_sw4 false 2017-07-18 21:59:24
id_door1 true 2017-07-18 21:59:24
id_door2 true 2017-07-18 21:59:24
id_lift1 false 2017-07-18 21:59:24
id_lift2 false 2017-07-18 21:59:24
id_stop1 true 2017-07-18 21:59:24
id_stop2 true 2017-07-18 21:59:24
id_trappedLeft false 2017-07-18 21:59:24
id_trappedRight false 2017-07-18 21:59:24
landroid_accelerometer_angle_0 0 2017-07-18 21:59:24
landroid_accelerometer_angle_1 0 2017-07-18 21:59:24
landroid_accelerometer_angle_2 0 2017-07-18 21:59:24
landroid_accelerometer_gravity_0 -0.007 2017-07-18 21:59:24
landroid_accelerometer_gravity_1 -0.013 2017-07-18 21:59:24
landroid_accelerometer_gravity_2 1.011 2017-07-18 21:59:24
landroid_angle 0 2017-07-18 21:59:24
landroid_area_for_plot -0.00044 2017-07-20 09:22:46
landroid_aree_index 9 2017-07-18 21:59:24
landroid_aree_vet_0 1 2017-07-18 21:59:24
landroid_aree_vet_1 0 2017-07-18 21:59:24
landroid_aree_vet_2 0 2017-07-18 21:59:24
landroid_aree_vet_3 0 2017-07-18 21:59:24
landroid_aree_vet_4 0 2017-07-18 21:59:24
landroid_aree_vet_5 0 2017-07-18 21:59:24
landroid_aree_vet_6 0 2017-07-18 21:59:24
landroid_aree_vet_7 0 2017-07-18 21:59:24
landroid_aree_vet_8 0 2017-07-18 21:59:24
landroid_aree_vet_9 0 2017-07-18 21:59:24
landroid_batteryCharger_chargeCurrent 108.76 2017-07-18 21:59:24
landroid_batteryCharger_state idle 2017-07-18 21:59:24
landroid_battery_ntcResistance 8971 2017-07-18 21:59:24
landroid_battery_percentage 100 2017-07-18 21:59:24
landroid_battery_percentage_for_plot 100 2017-07-20 09:22:46
landroid_battery_temperature 28.1 2017-07-18 21:59:24
landroid_battery_voltage 28.31 2017-07-18 21:59:24
landroid_boardTemperature 29.8 2017-07-18 21:59:24
landroid_distance -2 2017-07-18 21:59:24
landroid_distance_for_plot -0.002 2017-07-20 09:22:46
landroid_guide_deltaSpeedCorrection 0 2017-07-18 21:59:24
landroid_guide_measuredWheelDeltaDistance 0 2017-07-18 21:59:24
landroid_guide_requiredWheelDeltaDistance 0 2017-07-18 21:59:24
landroid_guide_straightSpeed 0 2017-07-18 21:59:24
landroid_guide_turningSpeed 0 2017-07-18 21:59:24
landroid_gyroscope_angle_0 8533.09375 2017-07-18 21:59:24
landroid_gyroscope_angle_1 -11794.435547 2017-07-18 21:59:24
landroid_gyroscope_angle_2 581.455811 2017-07-18 21:59:24
landroid_gyroscope_angularSpeed_0 0.126 2017-07-18 21:59:24
landroid_gyroscope_angularSpeed_1 0.136 2017-07-18 21:59:24
landroid_gyroscope_angularSpeed_2 -0.119 2017-07-18 21:59:24
landroid_motor_01_acceleration 100 2017-07-18 21:59:24
landroid_motor_01_deceleration 220 2017-07-18 21:59:24
landroid_motor_01_fault false 2017-07-18 21:59:24
landroid_motor_01_feedbackError 0 2017-07-18 21:59:24
landroid_motor_01_maxSpeed 60 2017-07-18 21:59:24
landroid_motor_01_rpm 0 2017-07-18 21:59:24
landroid_motor_01_speed 0 2017-07-18 21:59:24
landroid_motor_01_speedReduction 0 2017-07-18 21:59:24
landroid_motor_02_acceleration 100 2017-07-18 21:59:24
landroid_motor_02_deceleration 220 2017-07-18 21:59:24
landroid_motor_02_fault false 2017-07-18 21:59:24
landroid_motor_02_feedbackError 0 2017-07-18 21:59:24
landroid_motor_02_maxSpeed 60 2017-07-18 21:59:24
landroid_motor_02_rpm 0 2017-07-18 21:59:24
landroid_motor_02_speed 0 2017-07-18 21:59:24
landroid_motor_02_speedReduction 0 2017-07-18 21:59:24
landroid_motor_03_acceleration 100 2017-07-18 21:59:24
landroid_motor_03_deceleration 250 2017-07-18 21:59:24
landroid_motor_03_fault false 2017-07-18 21:59:24
landroid_motor_03_feedbackError 0 2017-07-18 21:59:24
landroid_motor_03_maxSpeed 68 2017-07-18 21:59:24
landroid_motor_03_rpm 0 2017-07-18 21:59:24
landroid_motor_03_speed 0 2017-07-18 21:59:24
landroid_motor_03_speedReduction 0 2017-07-18 21:59:24
landroid_rainSensor 3884 2017-07-18 21:59:24
landroid_state home 2017-07-18 21:59:24
landroid_wheelLeftDistance 0 2017-07-18 21:59:24
landroid_wheelRightDistance -5 2017-07-18 21:59:24
wireSensor_fwVer 0.7 2017-07-18 21:59:24
wireSensor_left inside 2017-07-18 21:59:24
wireSensor_right outside 2017-07-18 21:59:24
Und hier dazugehörige Attribute:
alias Robi deleteattr
event-on-change-reading .* deleteattr
extractAllJSON 1 deleteattr
genericDeviceType switch deleteattr
group Garten deleteattr
homebridgeMapping clear On=landroid_state,values=home:0;/.*/:1,cmds=0:Mowing+off;1:Mowing+on;false:Mowing+off;true:Mowing+on BatteryLevel=landroid_battery_percentage_for_plot ChargingState=landroid_batteryCharger_state,values=idle:0;charging:1;/.*/:2 deleteattr
icon scene_robo_lawnmower deleteattr
readingMaxAge 90 deleteattr
readingMaxAgeReplacement offline deleteattr
readingMaxAgeReplacementMode text deleteattr
room 1.0 Hof und Garten,Homekit deleteattr
set01Data data=%5B%5B%22settaggi%22%2C$val%2C1%5D%5D deleteattr
set01Header1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8 deleteattr
set01Hint on,off deleteattr
set01IMap 11:on, 12:off deleteattr
set01Name Mowing deleteattr
set01URL http://<XXXX>:XXXX@192.168.X.XXX/jsondata.cgi deleteattr
set02Data data=%5B%5B%22num_aree_lavoro%22%2C0%2C2%5D%2C%5B%22dist_area%22%2C0%2C$val%5D%2C%5B%22perc_per_area%22%2C0%2C5%5D%2C%5B%22dist_area%22%2C1%2C$val%5D%2C%5B%22perc_per_area%22%2C1%2C5%5D%2C%5B%22dist_area%22%2C2%2C0%5D%2C%5B%22perc_per_area%22%2C2%2C0%5D%2C%5B%22dist_area%22%2C3%2C0%5D%2C%5B%22perc_per_area%22%2C3%2C0%5D%5D deleteattr
set02Header1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8 deleteattr
set02Hint Station,Gartenhaus,Vorne deleteattr
set02IMap 2:Station 4:Gartenhaus 6:Vorne deleteattr
set02Name MowingAt deleteattr
set02URL http://<XXXX>:XXXX@192.168.X.XXX/jsondata.cgi deleteattr
stateFormat <p align="right">Status:landroid_state Batterie:landroid_batteryCharger_state landroid_battery_percentage %</p> deleteattr
timeout
5 deleteattr
userReadings
landroid_battery_percentage_for_plot
{
ReadingsVal($NAME,"landroid_battery_percentage","0") eq "offline" ? 0:
sprintf("%d",ReadingsVal("$NAME","landroid_battery_percentage",0));
},
landroid_distance_for_plot
{
ReadingsVal($NAME,"landroid_distance","0") eq "offline" ? 0:
ReadingsVal("$NAME","landroid_distance",0)/1000;
},
landroid_area_for_plot
{
ReadingsVal($NAME,"landroid_distance","0") eq "offline" ? 0:
(ReadingsVal("$NAME","landroid_distance",0)/1000)*0.22;
}
deleteattr
userattr
readingMaxAge readingMaxAgeReplacement readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,reading,internal,expression,delete set01Data set01Header1 set01Hint set01IMap set01Name set01URL set02Data set02Header1 set02Hint set02IMap set02Name set02URL
deleteattr
webCmd
Danke im Voraus
Das Gezeigte ist keine Augabe vom Befehl list (http://fhem.de/commandref.html#list)
2ter Versuch
Internals:
BUSY 0
CHANGED
DEF http://XXXX:<XXXX>@192.168.X.XXX/jsonDebug.cgi 30
Interval 30
JSONEnabled 1
LASTSEND 1500537313.87992
MainURL http://XXXX:<XXXX>@192.168.X.XXX/jsonDebug.cgi
MaxAgeEnabled 1
ModuleVersion 3.3.11 - 8.5.2017
NAME DR.Rasenmaehroboter
NR 215
STATE <p align="right">Status:home Batterie:idle 100 %</p>
TRIGGERTIME 0
TRIGGERTIME_FMT
TYPE HTTPMOD
addr http://192.168.X.XXX:80
auth XXXX:<XXXX>
data
displayurl http://XXXX:<XXXX>@192.168.X.XXX/jsonDebug.cgi
header
host 192.168.X.XXX
httpversion 1.0
ignoreredirects 0
loglevel 4
path /jsonDebug.cgi
protocol http
redirects 0
timeout 5
url http://XXXX:<XXXX>@192.168.X.XXX/jsonDebug.cgi
value 0
QUEUE:
Readings:
2017-07-18 21:59:24 dipSw_sw1 false
2017-07-18 21:59:24 dipSw_sw2 false
2017-07-18 21:59:24 dipSw_sw3 true
2017-07-18 21:59:24 dipSw_sw4 false
2017-07-18 21:59:24 id_door1 true
2017-07-18 21:59:24 id_door2 true
2017-07-18 21:59:24 id_lift1 false
2017-07-18 21:59:24 id_lift2 false
2017-07-18 21:59:24 id_stop1 true
2017-07-18 21:59:24 id_stop2 true
2017-07-18 21:59:24 id_trappedLeft false
2017-07-18 21:59:24 id_trappedRight false
2017-07-18 21:59:24 landroid_accelerometer_angle_0 0
2017-07-18 21:59:24 landroid_accelerometer_angle_1 0
2017-07-18 21:59:24 landroid_accelerometer_angle_2 0
2017-07-18 21:59:24 landroid_accelerometer_gravity_0 -0.007
2017-07-18 21:59:24 landroid_accelerometer_gravity_1 -0.013
2017-07-18 21:59:24 landroid_accelerometer_gravity_2 1.011
2017-07-18 21:59:24 landroid_angle 0
2017-07-20 09:55:17 landroid_area_for_plot -0.00044
2017-07-18 21:59:24 landroid_aree_index 9
2017-07-18 21:59:24 landroid_aree_vet_0 1
2017-07-18 21:59:24 landroid_aree_vet_1 0
2017-07-18 21:59:24 landroid_aree_vet_2 0
2017-07-18 21:59:24 landroid_aree_vet_3 0
2017-07-18 21:59:24 landroid_aree_vet_4 0
2017-07-18 21:59:24 landroid_aree_vet_5 0
2017-07-18 21:59:24 landroid_aree_vet_6 0
2017-07-18 21:59:24 landroid_aree_vet_7 0
2017-07-18 21:59:24 landroid_aree_vet_8 0
2017-07-18 21:59:24 landroid_aree_vet_9 0
2017-07-18 21:59:24 landroid_batteryCharger_chargeCurrent 108.76
2017-07-18 21:59:24 landroid_batteryCharger_state idle
2017-07-18 21:59:24 landroid_battery_ntcResistance 8971
2017-07-18 21:59:24 landroid_battery_percentage 100
2017-07-20 09:55:17 landroid_battery_percentage_for_plot 100
2017-07-18 21:59:24 landroid_battery_temperature 28.1
2017-07-18 21:59:24 landroid_battery_voltage 28.31
2017-07-18 21:59:24 landroid_boardTemperature 29.8
2017-07-18 21:59:24 landroid_distance -2
2017-07-20 09:55:17 landroid_distance_for_plot -0.002
2017-07-18 21:59:24 landroid_guide_deltaSpeedCorrection 0
2017-07-18 21:59:24 landroid_guide_measuredWheelDeltaDistance 0
2017-07-18 21:59:24 landroid_guide_requiredWheelDeltaDistance 0
2017-07-18 21:59:24 landroid_guide_straightSpeed 0
2017-07-18 21:59:24 landroid_guide_turningSpeed 0
2017-07-18 21:59:24 landroid_gyroscope_angle_0 8533.09375
2017-07-18 21:59:24 landroid_gyroscope_angle_1 -11794.435547
2017-07-18 21:59:24 landroid_gyroscope_angle_2 581.455811
2017-07-18 21:59:24 landroid_gyroscope_angularSpeed_0 0.126
2017-07-18 21:59:24 landroid_gyroscope_angularSpeed_1 0.136
2017-07-18 21:59:24 landroid_gyroscope_angularSpeed_2 -0.119
2017-07-18 21:59:24 landroid_motor_01_acceleration 100
2017-07-18 21:59:24 landroid_motor_01_deceleration 220
2017-07-18 21:59:24 landroid_motor_01_fault false
2017-07-18 21:59:24 landroid_motor_01_feedbackError 0
2017-07-18 21:59:24 landroid_motor_01_maxSpeed 60
2017-07-18 21:59:24 landroid_motor_01_rpm 0
2017-07-18 21:59:24 landroid_motor_01_speed 0
2017-07-18 21:59:24 landroid_motor_01_speedReduction 0
2017-07-18 21:59:24 landroid_motor_02_acceleration 100
2017-07-18 21:59:24 landroid_motor_02_deceleration 220
2017-07-18 21:59:24 landroid_motor_02_fault false
2017-07-18 21:59:24 landroid_motor_02_feedbackError 0
2017-07-18 21:59:24 landroid_motor_02_maxSpeed 60
2017-07-18 21:59:24 landroid_motor_02_rpm 0
2017-07-18 21:59:24 landroid_motor_02_speed 0
2017-07-18 21:59:24 landroid_motor_02_speedReduction 0
2017-07-18 21:59:24 landroid_motor_03_acceleration 100
2017-07-18 21:59:24 landroid_motor_03_deceleration 250
2017-07-18 21:59:24 landroid_motor_03_fault false
2017-07-18 21:59:24 landroid_motor_03_feedbackError 0
2017-07-18 21:59:24 landroid_motor_03_maxSpeed 68
2017-07-18 21:59:24 landroid_motor_03_rpm 0
2017-07-18 21:59:24 landroid_motor_03_speed 0
2017-07-18 21:59:24 landroid_motor_03_speedReduction 0
2017-07-18 21:59:24 landroid_rainSensor 3884
2017-07-18 21:59:24 landroid_state home
2017-07-18 21:59:24 landroid_wheelLeftDistance 0
2017-07-18 21:59:24 landroid_wheelRightDistance -5
2017-07-18 21:59:24 wireSensor_fwVer 0.7
2017-07-18 21:59:24 wireSensor_left inside
2017-07-18 21:59:24 wireSensor_right outside
Request:
data
header
ignoreredirects 0
retryCount 0
type update
url http://XXXX:<XXXX>@192.168.X.XXX/jsonDebug.cgi
value 0
Defptr:
Readingbase:
Readingoutdated:
Sslargs:
Attributes:
alias Robi
event-on-change-reading .*
extractAllJSON 1
genericDeviceType switch
group Garten
homebridgeMapping clear
On=landroid_state,values=home:0;/.*/:1,cmds=0:Mowing+off;1:Mowing+on;false:Mowing+off;true:Mowing+on
BatteryLevel=landroid_battery_percentage_for_plot
ChargingState=landroid_batteryCharger_state,values=idle:0;charging:1;/.*/:2
icon scene_robo_lawnmower
readingMaxAge 90
readingMaxAgeReplacement offline
readingMaxAgeReplacementMode text
room 1.0 Hof und Garten,Homekit
set01Data data=%5B%5B%22settaggi%22%2C$val%2C1%5D%5D
set01Header1 Content-Type: application/x-www-form-urlencoded;; charset=UTF-8
set01Hint on,off
set01IMap 11:on, 12:off
set01Name Mowing
set01URL http://<XXXX>:XXXX@192.168.X.XXX/jsondata.cgi
set02Data data=%5B%5B%22num_aree_lavoro%22%2C0%2C2%5D%2C%5B%22dist_area%22%2C0%2C$val%5D%2C%5B%22perc_per_area%22%2C0%2C5%5D%2C%5B%22dist_area%22%2C1%2C$val%5D%2C%5B%22perc_per_area%22%2C1%2C5%5D%2C%5B%22dist_area%22%2C2%2C0%5D%2C%5B%22perc_per_area%22%2C2%2C0%5D%2C%5B%22dist_area%22%2C3%2C0%5D%2C%5B%22perc_per_area%22%2C3%2C0%5D%5D
set02Header1 Content-Type: application/x-www-form-urlencoded; charset=UTF-8
set02Hint Station,Gartenhaus,Vorne
set02IMap 2:Station 4:Gartenhaus 6:Vorne
set02Name MowingAt
set02URL http://<XXXX>:XXXX@192.168.X.XXX/jsondata.cgi
stateFormat <p align="right">Status:landroid_state Batterie:landroid_batteryCharger_state landroid_battery_percentage %</p>
timeout 5
userReadings landroid_battery_percentage_for_plot
{
ReadingsVal($NAME,"landroid_battery_percentage","0") eq "offline" ? 0:
sprintf("%d",ReadingsVal("$NAME","landroid_battery_percentage",0));
},
landroid_distance_for_plot
{
ReadingsVal($NAME,"landroid_distance","0") eq "offline" ? 0:
ReadingsVal("$NAME","landroid_distance",0)/1000;
},
landroid_area_for_plot
{
ReadingsVal($NAME,"landroid_distance","0") eq "offline" ? 0:
(ReadingsVal("$NAME","landroid_distance",0)/1000)*0.22;
}
userattr readingMaxAge readingMaxAgeReplacement readingMaxAgeReplacementMode readingMaxAgeReplacementMode:text,reading,internal,expression,delete set01Data set01Header1 set01Hint set01IMap set01Name set01URL set02Data set02Header1 set02Hint set02IMap set02Name set02URL
webCmd Mowing
Hast Du um 09:55:17 FHEM neu gestartet oder werden die userReadings "einfach so" aktualisiert, ein auslösendes Reading erkenne ich auf Anhieb nicht.
Füge mal einen Trigger (https://fhem.de/commandref.html#userReadings) zu den userReadings hinzu, dass könnte den "Effekt" schon beheben.
Nein fhem läuft seit gestern Abend. Die userReadings werden permanent aktualisiert, zwar nicht alle 30s wie das im Intervall definiert ist, aber gefüllt alle 3min. Gerade geprüft, ein Update kommt alle 30s.
Hast du ein Beispiel für mich, wie ein möglicher Trigger aussehen könnte? Aus Commandref werde ich nicht schlau.
Danke
Mit
userReadings
landroid_battery_percentage_for_plot:landroid_battery_percentage.*
{
ReadingsVal($NAME,"landroid_battery_percentage","0") eq "offline" ? 0:
sprintf("%d",ReadingsVal("$NAME","landroid_battery_percentage",0));
}
konnte ich die Aktualisierung unterbinden. Danke noch mal.
P.S. Allerdings löst mein MaxAge Attribut den "offline" Zustand trotzdem nicht aus... seltsam... Die Vermutung war, dass es an den ständig sich aktualisierenden userReadings liegt.