foxthefox / ioBroker.fritzdect

Fritzbox DECT adapter for ioBroker
MIT License
40 stars 12 forks source link

Heater: battery value format wrong #23

Closed Scrounger closed 6 years ago

Scrounger commented 6 years ago

@foxthefox: Bei einem Heater ist das Format für das Objekt Battery falsch. Aktuell ist das im ioBorker als Zahl definiert. Die Api gibt hier aber no Boolean zurück (1 = niedriger Batteriestand). Weiter wird der Wert auch nicht ausgelesen. Kannst du das bitte ändern?

foxthefox commented 6 years ago

@Scrounger: nur damit ich es nicht falsch verstehe. Es gibt das Objekt Batterylow und das ist boolean, eine 1 bedeutet es ist die Batterie zu tauschen. Dies hätte ich schon drin. Datenpunktname passt zu Bedeutung. Battery an sich gibt eine Ladung in % an und sollte eine Zahl sein. Dieses Objekt wird jetzt angelegt, egal ob es im xml enthalten ist oder nicht, da alternativ noch ein getBatteryStatus in der fritzapi vorhanden ist. Also laut deiner xml wäre es nur über den Funktionsaufruf auslesbar und ich hoffe das geht auch?! Ich hab am ganzen WE die Rückmeldungen aus dem Forum eingearbeitet und ich vermute mal, daß du evtl. nur die jetzige Version probieren solltest. Kannst du es nochmals testen?

Scrounger commented 6 years ago

Ok hab die letzte Version (--production) getestet. Beim Heater wird nach wie vor das Objekt battery nicht ausgelesen: heater

Die Heater geben über das AVM Home Automation HTTP Interface devicelist nur zwei Werte aus, 0 = Batterie ok, 1 = Batterie low und keine Prozentangabe. Das Objekt battery in ioBroker ist als Zahl deklariert.

foxthefox commented 6 years ago

ich bin verwirrt, eigentlich müsste in der 0.1.0 Version auf github der mode den folgenden Text besitzen "Thermostat operation mode (0=auto, 1=closed, 2=open)". weiterhin müsste es auch ein Objekt batterylow geben (als boolean). battery ist zahl und sollte über den nicht nativen API Aufruf gesetzt werden, wenn er in der devicelist nicht drin ist.

Kannst du bitte schauen ob es wirklich 0.1.0 ist und ggf. nicht über update sondern neuinstallation gehen. Evtl. sind da noch alte Datenpunkte drin. Was sagt das log (gern auch als PN im iobroker-Forum)?

foxthefox commented 6 years ago

hab noch einen Zuweisungsfehler gefunden, wo batterylow auf battery geschrieben wurde und in der gruppe auf den nicht vorhandenen Datenpunkt battery geschrieben wurde, das dürfte die Ursache gewesen sein.

Bitte prüfen

Scrounger commented 6 years ago

Ok hab alles deinstalliert und direkt aus github die 0.1.0 installiert. Jetzt werden aber keine Heater mehr gefunden, nur noch switches, switch group und heater group.

Log: log

foxthefox commented 6 years ago

komisch, wieviele Geräte hast du denn insgesamt 1 switch und 2 comet? Der Adapter hat ein xml bekommen, wo 3 devices entdeckt wurden. Zwischen "Talking to FritzBox" und "createDevices" sollten noch ein paar debug Meldungen sein, speziell ist eine davon die xml in json Format, die würde ich gern mal analysieren. Desweiteren wäre für mich auch interessant, was als nächstes von "create devicelock object" des Schalters kommt, da müsste die Schleife mit den Comet weitermachen, sofern meine Annahme oben richtig ist.

Scrounger commented 6 years ago

@foxthefox: Ja ich hab 1 switch und 2 comet. Sorry hatte debug level für den adapter nicht drin. Die Heater bekommt er einfach nicht.

Hier nochmal ein Log nach dem ich den Adapter neugestartet habe:

fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Hgroup_69:41:85-900.present {'val':'1','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247758}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Hgroup_69:41:85-900.name {'val':'Wohnzimmer','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247757}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.energy {'val':'0','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247757}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.power {'val':0,'ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247756}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.devicelock {'val':'0','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247752}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.lock {'val':'0','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247752}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.mode {'val':'manuell','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247752}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.state {'val':'0','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247751}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.present {'val':'1','ack':true,'ts':1516826292525,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247750}
fritzdect.0 2018-01-24 21:38:12.541 debug stateChange fritzdect.0.Sgroup_69:41:85-901.name {'val':'Schalter Gruppe','ack':true,'ts':1516826292509,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247748}
fritzdect.0 2018-01-24 21:38:12.541 debug Hgroup_69:41:85-900 : present : 1
fritzdect.0 2018-01-24 21:38:12.541 debug Hgroup_69:41:85-900 : name : Wohnzimmer
fritzdect.0 2018-01-24 21:38:12.541 debug updating HeaterGroup Wohnzimmer
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : energy :0
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : power :0
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : devicelock :0
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : lock :0
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : mode :manuell
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : state :0
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : present : 1
fritzdect.0 2018-01-24 21:38:12.541 debug Sgroup_69:41:85-901 : name : Schalter Gruppe
fritzdect.0 2018-01-24 21:38:12.541 debug updating SwitchGroup Schalter Gruppe
fritzdect.0 2018-01-24 21:38:12.541 debug update Groups 2
fritzdect.0 2018-01-24 21:38:12.541 debug [{'identifier':'69:41:85-901','id':'901','functionbitmask':'6784','fwversion':'1.0','manufacturer':'AVM','present':'1','name':'Schalter Gruppe','switch':{'state':'0','mode':'manuell','lock':'0','devicelock':'0'},'powermeter':{'power':'0','energy':'0'},'groupinfo':{'masterdeviceid':'18','members':'18'}},{'identifier':'69:41:85-900','id':'900','functionbitmask':'4160','fwversion':'1.0','manufacturer':'AVM','present':'1','name':'Wohnzimmer','hkr':{'tist':'50','tsoll':'44','absenk':'32','komfort':'44','lock':'0','devicelock':'0','errorcode':'0','batterylow':'0','nextchange':{'endperiod':'1516834800','tchange':'32'}},'groupinfo':{'masterdeviceid':'0','members':'19,20'}}]
fritzdect.0 2018-01-24 21:38:12.541 debug groups
fritzdect.0 2018-01-24 21:38:12.198 info Talking to FritzBox with firmware: 06.93
fritzdect.0 2018-01-24 21:38:09.639 debug Guest WLAN: {'autoupdate':true,'activate_guest_access':false,'guest_ssid':'FRITZ!Box Gastzugang','wpa_key':'','push_service':false,'group_access':true,'untrusted':false,'showlawtext':false,'portal_redirect_enabled':false,'portal_redirect_url':'','user_isolation':false,'down_time_activ':false,'disconnect_guest_access':false,'sec_mode':'3','down_time_value':'30'}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.devicelock {'val':'','ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247236}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.lock {'val':'','ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247236}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.mode {'val':'','ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247236}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.energy {'val':'','ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247236}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.power {'val':null,'ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247235}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.state {'val':'','ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247235}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.present {'val':'0','ack':true,'ts':1516826288453,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247234}
fritzdect.0 2018-01-24 21:38:08.469 debug stateChange fritzdect.0.DECT200_087610432485.name {'val':'FRITZ!DECT 200 #3','ack':true,'ts':1516826288438,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742247229}
fritzdect.0 2018-01-24 21:38:08.469 debug DECT200_087610432485 : devicelock :
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : lock :
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : mode :
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : energy :
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : power :NaN
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : state :
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : present : 0
fritzdect.0 2018-01-24 21:38:08.454 debug DECT200_087610432485 : name : FRITZ!DECT 200 #3
fritzdect.0 2018-01-24 21:38:08.454 debug updating Switch FRITZ!DECT 200 #3
fritzdect.0 2018-01-24 21:38:08.454 debug update Devices 3
fritzdect.0 2018-01-24 21:38:08.454 debug [{'identifier':'087610432485','id':'18','functionbitmask':'2688','fwversion':'03.87','manufacturer':'AVM','productname':'FRITZ!DECT 200','present':'0','name':'FRITZ!DECT 200 #3','switch':{'state':'','mode':'','lock':'','devicelock':''},'powermeter':{'power':'','energy':''}},{'identifier':'119590252792','id':'19','functionbitmask':'320','fwversion':'03.54','manufacturer':'AVM','productname':'Comet DECT','present':'1','name':'Wohnzimmer 2','temperature':{'celsius':'210','offset':'-10'},'hkr':{'tist':'42','tsoll':'44','absenk':'32','komfort':'44','lock':'0','devicelock':'1','errorcode':'0','batterylow':'1','nextchange':{'endperiod':'1516834800','tchange':'32'}}},{'identifier':'099950015799','id':'20','functionbitmask':'320','fwversion':'04.62','manufacturer':'AVM','productname':'FRITZ!DECT 301','present':'1','name':'Wohnzimmer 1','temperature':{'celsius':'215','offset':'-10'},'hkr':{'tist':'43','tsoll':'44','absenk':'32','komfort':'44','lock':'0','devicelock':'0','errorcode':'0','batterylow':'0','nextchange':{'endperiod':'1516834800','tchange':'32'}}}]
fritzdect.0 2018-01-24 21:38:08.454 debug devices
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Hgroup_69:41:85-900.members {'val':'19,20','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248155}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Hgroup_69:41:85-900.masterdeviceid {'val':'0','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248155}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Hgroup_69:41:85-900.manufacturer {'val':'AVM','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248155}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Hgroup_69:41:85-900.fwversion {'val':'1.0','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248155}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Hgroup_69:41:85-900.id {'val':'900','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248155}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Sgroup_69:41:85-901.members {'val':'18','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248154}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Sgroup_69:41:85-901.masterdeviceid {'val':'18','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248154}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Sgroup_69:41:85-901.manufacturer {'val':'AVM','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248154}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Sgroup_69:41:85-901.fwversion {'val':'1.0','ack':true,'ts':1516826288157,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248154}
fritzdect.0 2018-01-24 21:38:08.173 debug stateChange fritzdect.0.Sgroup_69:41:85-901.id {'val':'901','ack':true,'ts':1516826288126,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742248153}
fritzdect.0 2018-01-24 21:38:08.173 debug create Group objects
fritzdect.0 2018-01-24 21:38:08.173 debug create Thermostat objects
fritzdect.0 2018-01-24 21:38:08.173 debug create Basic objects
fritzdect.0 2018-01-24 21:38:08.173 info setting up Heater Group Wohnzimmer
fritzdect.0 2018-01-24 21:38:08.173 debug create Group objects
fritzdect.0 2018-01-24 21:38:08.173 debug create Energy objects
fritzdect.0 2018-01-24 21:38:08.173 debug create Switch objects
fritzdect.0 2018-01-24 21:38:08.173 debug create Basic objects
fritzdect.0 2018-01-24 21:38:08.173 info setting up Switch Group Schalter Gruppe
fritzdect.0 2018-01-24 21:38:08.173 info create Groups 2
fritzdect.0 2018-01-24 21:38:08.173 debug [{'identifier':'69:41:85-901','id':'901','functionbitmask':'6784','fwversion':'1.0','manufacturer':'AVM','present':'1','name':'Schalter Gruppe','switch':{'state':'0','mode':'manuell','lock':'0','devicelock':'0'},'powermeter':{'power':'0','energy':'0'},'groupinfo':{'masterdeviceid':'18','members':'18'}},{'identifier':'69:41:85-900','id':'900','functionbitmask':'4160','fwversion':'1.0','manufacturer':'AVM','present':'1','name':'Wohnzimmer','hkr':{'tist':'50','tsoll':'44','absenk':'32','komfort':'44','lock':'0','devicelock':'0','errorcode':'0','batterylow':'0','nextchange':{'endperiod':'1516834800','tchange':'32'}},'groupinfo':{'masterdeviceid':'0','members':'19,20'}}]
fritzdect.0 2018-01-24 21:38:08.173 debug groups
fritzdect.0 2018-01-24 21:38:07.830 debug stateChange fritzdect.0.DECT200_087610432485.prodname {'val':'FRITZ!DECT 200','ack':true,'ts':1516826287814,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742246544}
fritzdect.0 2018-01-24 21:38:07.830 debug stateChange fritzdect.0.DECT200_087610432485.manufacturer {'val':'AVM','ack':true,'ts':1516826287814,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742246544}
fritzdect.0 2018-01-24 21:38:07.830 debug stateChange fritzdect.0.DECT200_087610432485.fwversion {'val':'03.87','ack':true,'ts':1516826287814,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742246543}
fritzdect.0 2018-01-24 21:38:07.830 debug stateChange fritzdect.0.DECT200_087610432485.id {'val':'18','ack':true,'ts':1516826287798,'q':0,'from':'system.adapter.fritzdect.0','lc':1516742246536}
fritzdect.0 2018-01-24 21:38:07.830 debug create Energy objects
fritzdect.0 2018-01-24 21:38:07.830 debug create Switch objects
fritzdect.0 2018-01-24 21:38:07.830 debug create Prodname object
fritzdect.0 2018-01-24 21:38:07.830 debug create Basic objects
fritzdect.0 2018-01-24 21:38:07.830 info setting up Switch/DECT2xx object FRITZ!DECT 200 #3
fritzdect.0 2018-01-24 21:38:07.830 info create Devices 3
fritzdect.0 2018-01-24 21:38:07.830 debug [{'identifier':'087610432485','id':'18','functionbitmask':'2688','fwversion':'03.87','manufacturer':'AVM','productname':'FRITZ!DECT 200','present':'0','name':'FRITZ!DECT 200 #3','switch':{'state':'','mode':'','lock':'','devicelock':''},'powermeter':{'power':'','energy':''}},{'identifier':'119590252792','id':'19','functionbitmask':'320','fwversion':'03.54','manufacturer':'AVM','productname':'Comet DECT','present':'1','name':'Wohnzimmer 2','temperature':{'celsius':'210','offset':'-10'},'hkr':{'tist':'42','tsoll':'44','absenk':'32','komfort':'44','lock':'0','devicelock':'1','errorcode':'0','batterylow':'1','nextchange':{'endperiod':'1516834800','tchange':'32'}}},{'identifier':'099950015799','id':'20','functionbitmask':'320','fwversion':'04.62','manufacturer':'AVM','productname':'FRITZ!DECT 301','present':'1','name':'Wohnzimmer 1','temperature':{'celsius':'215','offset':'-10'},'hkr':{'tist':'43','tsoll':'44','absenk':'32','komfort':'44','lock':'0','devicelock':'0','errorcode':'0','batterylow':'0','nextchange':{'endperiod':'1516834800','tchange':'32'}}}]
fritzdect.0 2018-01-24 21:38:07.830 debug devices
fritzdect.0 2018-01-24 21:38:04.991 debug polling! fritzdect is alive
fritzdect.0 2018-01-24 21:38:04.991 info entered ready
fritzdect.0 2018-01-24 21:38:04.991 info starting. Version 0.1.0 in C:/ioBroker/node_modules/iobroker.fritzdect, node: v4.5.0
host.TvServer 2018-01-24 21:38:04.117 info instance system.adapter.fritzdect.0 started with pid 15960
host.TvServer 2018-01-24 21:38:01.605 info instance system.adapter.fritzdect.0 terminated with code null ()
host.TvServer 2018-01-24 21:38:01.605 warn instance system.adapter.fritzdect.0 terminated due to SIGTERM
host.TvServer 2018-01-24 21:38:01.589 info stopInstance system.adapter.fritzdect.0 killing pid 14408
host.TvServer 2018-01-24 21:38:01.589 info stopInstance system.adapter.fritzdect.0
foxthefox commented 6 years ago

Danke für das log. Ich weiß noch nicht wie es mit dem Nichtanlegen der heater zusammenhängt, aber es sieht nicht gut für deine Geräte aus. Der switch bringt keine Informationen 'switch': {'state':'','mode':'','lock':'','devicelock':''}, 'powermeter': {'power':'','energy':''} will heißen, da wird jetzt und in Zukunft nichts verwertbares im adapter angezeigt. Ein anderer user berichtete, daß es beim verändern der Reihenfolge in der fritzbox immer das erste Gerät angelegt hat, das hilft zwar nicht wirklich, könnte aber auch getestet werden.

Also ich grübel noch warum die Schleife nicht zum 2ten Gerät übergeht. Wenn du die heutige Version von github installierst, dürfte es wenigstens mit der heater group etwas werden.

foxthefox commented 6 years ago

hatte noch eine andere Idee, was schief laufen könnte.

Habe gerade eben github aktualisiert, bitte diese Version zum Testen verwenden!

foxthefox commented 6 years ago

scheint jetzt alle Objekte einzulesen und die Gruppensteuerung geht auch

http://forum.iobroker.net/viewtopic.php?p=117189#p117189

Scrounger commented 6 years ago

@foxthefox Oh sorry, der Switch ist bei mir aktuell nicht in Betrieb, aber in der FB noch angelegt, von daher ist das i.O. das da keine Werte geholt werden. Muss die neue Version testen, kann ich aber erst im Laufe der nächsten Woche machen.

foxthefox commented 6 years ago

also die Version 0.1.0 ist jetzt auf npm eingecheckt, die sollte alle deine Probleme gelöst haben. Viele Forumsmitglieder berichten zumindest vom korrekten Verhalten Ansonsten halt ein neues Problem aufmachen.

Danke für deine Hilfe, Rückmeldung.

Scrounger commented 6 years ago

@foxthefox: Perfekt, jetzt geht wieder alles, danke!