Warum wreden meine userReadings im HTTPMOD-Device upgedated

Begonnen von EinEinfach, 20 Juli 2017, 08:37:47

Vorheriges Thema - Nächstes Thema

EinEinfach

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?
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

dev0

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.

EinEinfach

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
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

dev0


EinEinfach

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
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

dev0

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 zu den userReadings hinzu, dass könnte den "Effekt" schon beheben.

EinEinfach

#6
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
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP

EinEinfach

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.
fhem auf Intel NUC6CAYH mit Proxmox im LXC (Debian 10), KNX mit knxd über MDT SCN-IP000.02, Buderus GB192-15i über KM100, Solaredge WR SE9K über Modbus-TCP