NEWS
Test Adapter homeconnect (BSH Home-Connect) v0.0.x
-
@tombox Es hat nur einmal funktioniert. Erst Gerät eingeschaltet, taucht der Datenpunkt auf und dann lies er sich in der Stufe anpassen. Nach dem aus und an, erscheint zwar der Datenpunkt, aber nicht mehr die States.
Die unterschiedlichen states kamen bei dem einem mal auch erst, wenn man die Stufen vorher durchgespielt hat, ansonsten erscheint nur ein State. -
Hallo, ich bekomme auch ab und zu das Rate-Limit angezeigt.
Error getting Aplliances with existing Token: 429 The rate limit "1000 calls in 1 day" was reached
Nach einem Tag warten funktioniert es wieder.
In einem vorherigen Kommentar wurde erwähnt, dass das fast nur durch zu viel Restarts des Adapters liegen kann.Das wird bei mir nicht zeigesteuert ausgeführt, allerdings ist mir folgendes im Log aufgefallen:
Ich bekomme gerade alle paar Minuten ein "DISCONNECTED" event angezeigt. Das ist dann gleichbedeutend mit einem Adapter Restart, der Adapter holt sich alle Infos, bei mir ist dann "Rate per min: 16". Ich nehme an dass damit pro Restart 16 API calls verbraucht werden. Nach ein paar Stunden bin ich dadurch direkt wieder im 1000 calls rate limit.
$ grep homeconnect iobroker.current.log | grep CONNECT 2021-10-19 21:56:11.172 - debug: homeconnect.0 (21621) event: {"type":"DISCONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE... 2021-10-19 21:56:50.557 - debug: homeconnect.0 (21621) event: {"type":"CONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE-68... 2021-10-19 21:59:26.619 - debug: homeconnect.0 (21621) event: {"type":"DISCONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE... 2021-10-19 21:59:53.951 - debug: homeconnect.0 (21621) event: {"type":"CONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE-68... 2021-10-19 22:02:29.975 - debug: homeconnect.0 (21621) event: {"type":"DISCONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE... 2021-10-19 22:03:11.884 - debug: homeconnect.0 (21621) event: {"type":"CONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE-68... 2021-10-19 22:05:48.335 - debug: homeconnect.0 (21621) event: {"type":"DISCONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE... 2021-10-19 22:06:26.345 - debug: homeconnect.0 (21621) event: {"type":"CONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE-68...
Kann das an einer lokalen Einstellung bei mir liegen oder sind das homeconnect-Probleme?
-
@derdominik Also den Fall bei Disconnect könnte man sicher verbessern aber warum Verliert das Gerät so oft die Verbindung
-
@tombox Ich habe gestern den Adapter gestoppt, bevor das Rate Limit wieder greift. Heute morgen wieder gestartet und seit dem habe ich keine Disconnects mehr.
Einige der Fehler im Adapter sind garantiert auf die instabile Homeconnect API zurückzuführen. Wenn du weisst, welche Adapter-Events zu eine Restart oder vermehrten API Call führen, könntest du dafür eine .info log oder sogar .warn schreiben?
Ich habe auch gesehen dass die Rate Limit pro Minute auf debug geloggt werden. Kannst du so etwa auch für das 1000-Calls-Per-24h einbauen?
Würde mir zumindest bei der Fehleranalyse helfen. Ich habe meine Disconnects nur durch debug level gesehen.
EDIT
zu früh gefreut, 3h später haben die DISCONNECTs wieder angefangen, alle 3-5min. Und 2h später war ich wieder im "The rate limit 1000 calls in 1 day" Modus. -
@derdominik Das Problem habe ich auch.
Ich bin bei Adapterstart so bei ca. 100... da sind die 1.000 sehr schnell voll.Aktuell habe ich mir damit geholfen, dass die Instanz morgens gestartet und nachmittags wieder deaktiviert wird. So habe ich dann meisstens eine Rückmeldung meiner Kaffeemaschine.
Alle Geräte stehen im selben Raum wieder der Router und ich habe kein Schloss. Die Verbindung verlieren die auch ab und an.
-
@derdominik Bei mir hat ein falsches Skript die requests ausgelöst. Hast du daswas am laufen? Mal pausieren und beobachten.
-
@johnnybahama danke für den Hinweis. Momentan habe ich lediglich ein Skript am laufen, welches mir die geänderte Remaining-Time ausliest und umschreibt, also rein lesend.
Was war in deinem Fall der Fehler im Script? Ich dachte, dass die Events "DISCONNECTED" von den Homeconnect systemen kommen.
-
@derdominik Bei mir war es der trigger. Ich hatte den auf Alexa Summery aktualisieren anstatt geändert stehen , somit hat der mehrmals ausgelöst und die 1000 voll gemacht. Der hat zwar auch ab und an disconnected, aber nicht soviel wie bei dir, daher die vermutung das irgendein Skript das auslöst.
-
@johnnybahama
Mhh.. Ich habe mal mein EINZIGES Script im Zusammenhang mit Homeconnect gecheckt. Alle anderen dazu sind deaktiviert.Nix mit aktualisieren (in den Homeconnect-Werten). Ich habe auch den iot-Adapter überprüft, ob da irgendein homeconnect-Gerät noch drin hängt
Mag da mal bitte jemand drüberschauen? Vielleicht Habe ich mich geirrt...?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="cron" id="schedule1">schedule1</variable> <variable type="cron" id="schedule2">schedule2</variable> </variables> <block type="schedule_create" id="oe|t=GQDNP8xxeo`u.U5" x="163" y="-337"> <field name="NAME">schedule1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="sd-=*BK=Q,F(mT$-tX0q"> <field name="CRON">15 7 * * *</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="Zr2H0AeCT-Xv!]ZVDW7m"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">system.adapter.homeconnect.0.alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="b0K-8Ms4Q|cjO.s.3Y3O"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="schedule_create" id="ZBjsX*j4Tpq}/BCNJhXD"> <field name="NAME">schedule2</field> <value name="SCHEDULE"> <shadow type="field_cron" id="4gppE^]6Z3~fM4(`.p5#"> <field name="CRON">30 16 * * *</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="OL{~ch3yVhjgNI;%$Qc2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">system.adapter.homeconnect.0.alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="mB.~3e!{tJKBPobiSyL8"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> <block type="comment" id="LapTK?,zWE6pz2iV@=Bd" x="163" y="-82"> <field name="COMMENT">Zuletzt gewählten Kaffee in eigenen DP einsetzen</field> <next> <block type="on" id="P[p|KIv3DklZ*7m`J=N|"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="~6{*Ca*7l4%hOUmLmL{c"> <value name="IF0"> <block type="logic_compare" id="l7)TWOm#vM5l/2R}t#2X"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="v!zVQIk]LtLD!f6}(RI5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_null" id="_tcb=-(;tZt(9GRfBEol"></block> </value> </block> </value> <statement name="DO0"> <block type="update" id="-$7Dw9!Tr_n]x24=+ud]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="R:@y-I4Qe1h({z;lMu[%"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="Pb~:L+1hh!xT[39H,0HM"> <field name="COMMENT">Alexa Ansage wenn der Kaffee fertig ist</field> <next> <block type="on" id="8715eV~RN{[[atjqp@A8"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.active.options.BSH_Common_Option_ProgramProgress</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="i$4lS6+x-a-AN;|Wmh]X"> <value name="IF0"> <block type="logic_compare" id="v9co4T,*.REvm,*8J2i#"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="W?RA#KxD4^Kb9*?T7_h?"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="B+(*%MY~j/GNKQIdmFM9"> <field name="TEXT">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id=")HW.x=,;sH),_zIqVF}i"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="$RUw9@byon|Z=$_ASkcR"> <field name="TEXT">Kaffe fertig</field> </shadow> </value> <next> <block type="control" id="Y}+T;Cn_Txd:w~=aM/PZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="RoFpf:(~km;gBVgIj_Ux"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="d]Vm*Ut]_wEqbN{iM.s3"> <field name="TEXT">25; Hallo, Dein </field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="0{Uw?u%^MYeJCt?!jOs$" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="get_value" id="tOaa~3:fQ~~Fq}:TH8lA"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="sj1DNn3Ik-(Gm4$b~i02" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="A`TLz5Lbfgw;=mJOp}(^"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="3@!vQ6nf?sI?`w5-C95N" inline="false"> <field name="END">LAST</field> <value name="VALUE"> <block type="get_value" id=":s3Jmucd~0p.rr!)#=$e"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="P5s;aJDPT*F;y(,VtRBs"> <field name="TEXT">abc</field> </shadow> <block type="text" id="T1NDF@SW`wap^ydQ(]-c"> <field name="TEXT">.</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-9+`M14/p._`PvUM3`yk"> <field name="NUM">1</field> </shadow> <block type="math_number" id="c6Am(rXP]88U[N8J^4iD"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="PvFX#`osf3d}$ICOYs*2"> <field name="TEXT"> ist fertig</field> </block> </value> </block> </value> <next> <block type="debug" id="E;l%;geOn!|rdiT.sc5a"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="Xs_M92/GAeD6l2|_Y~dT"> <field name="TEXT">BSH_Common_Option_ProgramProgress_auf_100%</field> </shadow> <block type="text_join" id="Pl2tbDK3unWM,c-2~(po"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="1]-mr1)bwgU!2iJW7Gr-"> <field name="TEXT">Hallo, Dein </field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="7_gd/nDVsY5t7X^aC(dH" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="get_value" id="u#1/@sb^88T:atE:rk+*"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="L04we+5X]U^5?@Ua.Jr!" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="A`TLz5Lbfgw;=mJOp}(^"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="7Hg3~{#zFgX^4e]iEu[/" inline="false"> <field name="END">LAST</field> <value name="VALUE"> <block type="get_value" id="]}8EkT?*B-y[0%o4SU5_"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="P5s;aJDPT*F;y(,VtRBs"> <field name="TEXT">abc</field> </shadow> <block type="text" id="pe(!(TuP#HoKY39*~{G+"> <field name="TEXT">.</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-9+`M14/p._`PvUM3`yk"> <field name="NUM">1</field> </shadow> <block type="math_number" id="cXVm+lfkz-m:|X#O5tQ2"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="0WPrr.Q,}Mn2P{0-WrTW"> <field name="TEXT"> ist fertig</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="bdo3D}FyKm7rm:j@4jn:"> <field name="COMMENT">Alexa Ansage wenn Tropfschale voll ist</field> <next> <block type="on" id="%Qry3R,F-w~eDWIZ;v~Q"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_DripTrayFull</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="s+uRRm_,=H?8|j|GSLrD"> <value name="IF0"> <block type="logic_compare" id="({v/UANZbItzMGQVz;PO"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="pecp$)zA!mFQ,:p2NR($"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="9)#UKeJGU=0BXO9mzOft"> <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="P7Bc6PLl0dxm=qX#4y}p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="ifG.sB+gArs}OYhMiA#0"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="VH#/ZF#A}-W=bglU-ysE"> <field name="TEXT">25; Bitte Tropfschale leeren.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="TklKTCg(o7sKGG+Soo5`"> <field name="COMMENT">Alexa Ansage wenn Wasserbehälter leer ist</field> <next> <block type="on" id="r,rZzTgfJpvG|EMfMq?2"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_DripTrayFull</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="/SRV4Krr?~k?C_Zc{B=["> <value name="IF0"> <block type="logic_compare" id="[|/09!wyq_6V@Z9bkaq$"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="1O`h8`~4^ts5^V9/X*k$"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="[TL8I=S*Q!+x[^7aGbK1"> <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="riBuQRXa`*^-U|/k4!|5"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="6d8*@X#f_CG$HMK+?B)I"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id=":A+Ik@zxhqdS0Wj=j3e-"> <field name="TEXT">25; Bitte Tropfschale leeren.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="h51@na;9~)#yuUC6-x7f"> <field name="COMMENT">Ansage falls Bohnen leer sind</field> <next> <block type="on" id="j?sr8Kd.S/N@pQN(A1vt"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_BeanContainerEmpty</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="8{?uPOLRWYL.d~nt8AUV"> <value name="IF0"> <block type="logic_compare" id="@tLM~A-j]@aUA@-Wt`C3"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="K4CbR^8njT!H]#RdQdqS"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id=".uE~(4Ui~h(LX?VY}yHN"> <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="fwEt$!^lR5grq_.5G@+s"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="3FtBb*%yG-r,K0Z7)nk4"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="h/MN`7+=ZAG*Xw!8!*jp"> <field name="TEXT">25; Bitte Kaffeebohnen nachfüllen.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="}I~v4EjMF9ly,k{2hP!]"> <field name="COMMENT">Ansage falls Tür offen ist</field> <next> <block type="on" id="%uv!4bEJ5Kn}MW$?2*bv"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.status.BSH_Common_Status_DoorState</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="|]ZEt[`Y-]UICeM7zC$q"> <value name="IF0"> <block type="logic_compare" id="M8t!uA?y%5h{^L*09C|l"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="{_nwFo2Cx:VO6bOW+)H`"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="nQ-ld:2fd5S$]IppT}Xj"> <field name="TEXT">BSH.Common.EnumType.DoorState.Open</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="EEiwzKl/bO0`YQvisXFV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="/`f@iijV(q7*0Q9|RUN-"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="Q0S#`rS_rNRU6yFQ^28q"> <field name="TEXT">25; Bitte Tür der Kaffeemaschine schließen.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
-
@johnnybahama Kannst du nochmal genau erklären was du gemacht hast vielleicht kann man das im Adapter abfangen.
Welcher Wert wurde wie gesetzt? -
So, nun alle Scripts gestoppt und Adapter wieder gestartet. Nach kurzer Zeit wieder DISCONNECTED mit folgender Neu-Initialisierung.
2021-10-22 08:06:50.399 - debug: homeconnect.0 (8384) SIEMENS-SX758X06TE-***.status.BSH_Common_Status_DoorState:BSH.Common.EnumType.DoorState.Closed 2021-10-22 08:09:25.455 - debug: homeconnect.0 (8384) event: {"type":"DISCONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE-***","origin":"https://api.home-connect.com"} 2021-10-22 08:10:05.866 - debug: homeconnect.0 (8384) event: {"type":"CONNECTED","data":"","lastEventId":"SIEMENS-SX758X06TE-***","origin":"https://api.home-connect.com"} 2021-10-22 08:10:05.868 - debug: homeconnect.0 (8384) Rate per min: 0
Verständnisfrage: Da die Events DISCONNECTED / CONNECTED reinkommen, ist der Iobroker Adapter prinzipiell korrekt mit der Homeconnect-API verbunden, richtig? D.h. dass die Disconnects daher rühren, dass sich mein Geschirrspüler anscheinend kurzzeit ab- und wieder anmeldet?
(Kurze Info dazu: Die Wifi-Verbindung scheint stabil zu sein, mir wird im Router eine Wifi-Uptime von vielen Tagen angezeigt).Kennt jemand weitere Debug-Möglichkeiten um herauszufinden weshalb diese Abbrüche kommen?
Und: Wenn das ein erwarteter Zustand ist, dann würde ich gerne auf das Verbessern des disconnect-handlings zurückkommen
@tombox said in Test Adapter homeconnect (BSH Home-Connect) v0.0.x:
@derdominik Also den Fall bei Disconnect könnte man sicher verbessern aber warum Verliert das Gerät so oft die Verbindung
-
@oberfragger sagte in Test Adapter homeconnect (BSH Home-Connect) v0.0.x:
@johnnybahama
Mhh.. Ich habe mal mein EINZIGES Script im Zusammenhang mit Homeconnect gecheckt. Alle anderen dazu sind deaktiviert.Nix mit aktualisieren (in den Homeconnect-Werten). Ich habe auch den iot-Adapter überprüft, ob da irgendein homeconnect-Gerät noch drin hängt
Mag da mal bitte jemand drüberschauen? Vielleicht Habe ich mich geirrt...?
<xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="cron" id="schedule1">schedule1</variable> <variable type="cron" id="schedule2">schedule2</variable> </variables> <block type="schedule_create" id="oe|t=GQDNP8xxeo`u.U5" x="163" y="-337"> <field name="NAME">schedule1</field> <value name="SCHEDULE"> <shadow type="field_cron" id="sd-=*BK=Q,F(mT$-tX0q"> <field name="CRON">15 7 * * *</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="Zr2H0AeCT-Xv!]ZVDW7m"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">system.adapter.homeconnect.0.alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="b0K-8Ms4Q|cjO.s.3Y3O"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> <next> <block type="schedule_create" id="ZBjsX*j4Tpq}/BCNJhXD"> <field name="NAME">schedule2</field> <value name="SCHEDULE"> <shadow type="field_cron" id="4gppE^]6Z3~fM4(`.p5#"> <field name="CRON">30 16 * * *</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="OL{~ch3yVhjgNI;%$Qc2"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">system.adapter.homeconnect.0.alive</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="mB.~3e!{tJKBPobiSyL8"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </next> </block> <block type="comment" id="LapTK?,zWE6pz2iV@=Bd" x="163" y="-82"> <field name="COMMENT">Zuletzt gewählten Kaffee in eigenen DP einsetzen</field> <next> <block type="on" id="P[p|KIv3DklZ*7m`J=N|"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.selected.BSH_Common_Root_SelectedProgram</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="~6{*Ca*7l4%hOUmLmL{c"> <value name="IF0"> <block type="logic_compare" id="l7)TWOm#vM5l/2R}t#2X"> <field name="OP">NEQ</field> <value name="A"> <block type="on_source" id="v!zVQIk]LtLD!f6}(RI5"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="logic_null" id="_tcb=-(;tZt(9GRfBEol"></block> </value> </block> </value> <statement name="DO0"> <block type="update" id="-$7Dw9!Tr_n]x24=+ud]"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="on_source" id="R:@y-I4Qe1h({z;lMu[%"> <field name="ATTR">state.val</field> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="Pb~:L+1hh!xT[39H,0HM"> <field name="COMMENT">Alexa Ansage wenn der Kaffee fertig ist</field> <next> <block type="on" id="8715eV~RN{[[atjqp@A8"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.programs.active.options.BSH_Common_Option_ProgramProgress</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="i$4lS6+x-a-AN;|Wmh]X"> <value name="IF0"> <block type="logic_compare" id="v9co4T,*.REvm,*8J2i#"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="W?RA#KxD4^Kb9*?T7_h?"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="B+(*%MY~j/GNKQIdmFM9"> <field name="TEXT">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="debug" id=")HW.x=,;sH),_zIqVF}i"> <field name="Severity">log</field> <value name="TEXT"> <shadow type="text" id="$RUw9@byon|Z=$_ASkcR"> <field name="TEXT">Kaffe fertig</field> </shadow> </value> <next> <block type="control" id="Y}+T;Cn_Txd:w~=aM/PZ"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="RoFpf:(~km;gBVgIj_Ux"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="d]Vm*Ut]_wEqbN{iM.s3"> <field name="TEXT">25; Hallo, Dein </field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="0{Uw?u%^MYeJCt?!jOs$" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="get_value" id="tOaa~3:fQ~~Fq}:TH8lA"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="sj1DNn3Ik-(Gm4$b~i02" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="A`TLz5Lbfgw;=mJOp}(^"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="3@!vQ6nf?sI?`w5-C95N" inline="false"> <field name="END">LAST</field> <value name="VALUE"> <block type="get_value" id=":s3Jmucd~0p.rr!)#=$e"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="P5s;aJDPT*F;y(,VtRBs"> <field name="TEXT">abc</field> </shadow> <block type="text" id="T1NDF@SW`wap^ydQ(]-c"> <field name="TEXT">.</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-9+`M14/p._`PvUM3`yk"> <field name="NUM">1</field> </shadow> <block type="math_number" id="c6Am(rXP]88U[N8J^4iD"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="PvFX#`osf3d}$ICOYs*2"> <field name="TEXT"> ist fertig</field> </block> </value> </block> </value> <next> <block type="debug" id="E;l%;geOn!|rdiT.sc5a"> <field name="Severity">log</field> <value name="TEXT"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="Xs_M92/GAeD6l2|_Y~dT"> <field name="TEXT">BSH_Common_Option_ProgramProgress_auf_100%</field> </shadow> <block type="text_join" id="Pl2tbDK3unWM,c-2~(po"> <mutation items="3"></mutation> <value name="ADD0"> <block type="text" id="1]-mr1)bwgU!2iJW7Gr-"> <field name="TEXT">Hallo, Dein </field> </block> </value> <value name="ADD1"> <block type="text_getSubstring" id="7_gd/nDVsY5t7X^aC(dH" inline="false"> <mutation at1="true" at2="false"></mutation> <field name="WHERE1">FROM_START</field> <field name="WHERE2">LAST</field> <value name="STRING"> <block type="get_value" id="u#1/@sb^88T:atE:rk+*"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="AT1"> <block type="math_arithmetic" id="L04we+5X]U^5?@Ua.Jr!" inline="false"> <field name="OP">ADD</field> <value name="A"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="A`TLz5Lbfgw;=mJOp}(^"> <field name="NUM">1</field> </shadow> <block type="text_indexOf" id="7Hg3~{#zFgX^4e]iEu[/" inline="false"> <field name="END">LAST</field> <value name="VALUE"> <block type="get_value" id="]}8EkT?*B-y[0%o4SU5_"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Kaffemaschine.last_coffee</field> </block> </value> <value name="FIND"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="text" id="P5s;aJDPT*F;y(,VtRBs"> <field name="TEXT">abc</field> </shadow> <block type="text" id="pe(!(TuP#HoKY39*~{G+"> <field name="TEXT">.</field> </block> </value> </block> </value> <value name="B"> <shadow xmlns="http://www.w3.org/1999/xhtml" type="math_number" id="-9+`M14/p._`PvUM3`yk"> <field name="NUM">1</field> </shadow> <block type="math_number" id="cXVm+lfkz-m:|X#O5tQ2"> <field name="NUM">1</field> </block> </value> </block> </value> </block> </value> <value name="ADD2"> <block type="text" id="0WPrr.Q,}Mn2P{0-WrTW"> <field name="TEXT"> ist fertig</field> </block> </value> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </statement> <next> <block type="comment" id="bdo3D}FyKm7rm:j@4jn:"> <field name="COMMENT">Alexa Ansage wenn Tropfschale voll ist</field> <next> <block type="on" id="%Qry3R,F-w~eDWIZ;v~Q"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_DripTrayFull</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="s+uRRm_,=H?8|j|GSLrD"> <value name="IF0"> <block type="logic_compare" id="({v/UANZbItzMGQVz;PO"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="pecp$)zA!mFQ,:p2NR($"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="9)#UKeJGU=0BXO9mzOft"> <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="P7Bc6PLl0dxm=qX#4y}p"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="ifG.sB+gArs}OYhMiA#0"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="VH#/ZF#A}-W=bglU-ysE"> <field name="TEXT">25; Bitte Tropfschale leeren.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="TklKTCg(o7sKGG+Soo5`"> <field name="COMMENT">Alexa Ansage wenn Wasserbehälter leer ist</field> <next> <block type="on" id="r,rZzTgfJpvG|EMfMq?2"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_DripTrayFull</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="/SRV4Krr?~k?C_Zc{B=["> <value name="IF0"> <block type="logic_compare" id="[|/09!wyq_6V@Z9bkaq$"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="1O`h8`~4^ts5^V9/X*k$"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="[TL8I=S*Q!+x[^7aGbK1"> <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="riBuQRXa`*^-U|/k4!|5"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="6d8*@X#f_CG$HMK+?B)I"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id=":A+Ik@zxhqdS0Wj=j3e-"> <field name="TEXT">25; Bitte Tropfschale leeren.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="h51@na;9~)#yuUC6-x7f"> <field name="COMMENT">Ansage falls Bohnen leer sind</field> <next> <block type="on" id="j?sr8Kd.S/N@pQN(A1vt"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.events.ConsumerProducts_CoffeeMaker_Event_BeanContainerEmpty</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="8{?uPOLRWYL.d~nt8AUV"> <value name="IF0"> <block type="logic_compare" id="@tLM~A-j]@aUA@-Wt`C3"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="K4CbR^8njT!H]#RdQdqS"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id=".uE~(4Ui~h(LX?VY}yHN"> <field name="TEXT">BSH.Common.EnumType.EventPresentState.Present</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="fwEt$!^lR5grq_.5G@+s"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="3FtBb*%yG-r,K0Z7)nk4"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="h/MN`7+=ZAG*Xw!8!*jp"> <field name="TEXT">25; Bitte Kaffeebohnen nachfüllen.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> <next> <block type="comment" id="}I~v4EjMF9ly,k{2hP!]"> <field name="COMMENT">Ansage falls Tür offen ist</field> <next> <block type="on" id="%uv!4bEJ5Kn}MW$?2*bv"> <field name="OID">homeconnect.0.BOSCH-CTL636ES6-68A40E26C6C6.status.BSH_Common_Status_DoorState</field> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="|]ZEt[`Y-]UICeM7zC$q"> <value name="IF0"> <block type="logic_compare" id="M8t!uA?y%5h{^L*09C|l"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="{_nwFo2Cx:VO6bOW+)H`"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="text" id="nQ-ld:2fd5S$]IppT}Xj"> <field name="TEXT">BSH.Common.EnumType.DoorState.Open</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="EEiwzKl/bO0`YQvisXFV"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G2A14Q04942203FS.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text_join" id="/`f@iijV(q7*0Q9|RUN-"> <mutation items="1"></mutation> <value name="ADD0"> <block type="text" id="Q0S#`rS_rNRU6yFQ^28q"> <field name="TEXT">25; Bitte Tür der Kaffeemaschine schließen.</field> </block> </value> </block> </value> </block> </statement> </block> </statement> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </next> </block> </xml>
Alles stoppen und schauen. Würde auch mal den Geschirrspüler komplett entfernen. Der scheint das Problem zu verursachen. Hast du geschaut, ob die WIFI verbindung des Geschirrspüler konstant ist?
-
- Objektbaum der Haube komplett gelöscht
- Adapter neu gestartet.
- Warten bis die Haube im Objektbaum wieder erscheint
- Haube angeschaltet
- Über die App die einzelnen Lüfterstufen durchgespielt, denn nur so kommen die einzelnen Stufen in den DP programs->active->options->.Cooking_Common_Option_Hood_VentingLevel
Übrigens, über die Options lassen sich alle Programme durchspielen.
Schaltet man die Haube aus, verschwindet dieser Datenpunkt und der Intensivlevel DP als dem Objektbaum.
Beim Wiedereinschalten erscheinen die DP wieder, ader der DP Venting.Level ist kein State mehr und lässt sich somit nicht mehr verändern.Bekomme auch nen warn:
Object homeconnect.0.NEFF-D96BMV5N5-68A40E08BA18.programs.active.options.Cooking_Common_Option_Hood_VentingLevel is invalid: obj.type has to exist
-
@derdominik @oberfragger Ich habe mal in die github version eine option eingebaut mit der man das programm holen bei wiederverbinden deaktivieren
-
@johnnybahama Ich benötige dafür ein debug log via mail
-
@tombox Hab ich dir geschickt. Evtl im Spam wegen dem txt Anhang
-
@tombox
cool, danke! D.h. die einzige Einschränkung ist, dass die verfügbaren Programme nicht geholt werden?
Da ich eh nur an der Restlaufzeit interessiert bin, ist das total okLeider führt bei mir momentan jegliches Adapter-Update gerade zum Totalversagen von iobroker, ich muss danach das ganze iobroker Verzeichnis wiederherstellen... Das ist aber unabhängig vom homeconnect-Adapter und passiert bei jedem Update.
homeconnect.0 (14956) TypeError: _this._getProxy is not a function at new HTTPSTransport (/opt/iobroker/node_modules/@sentry/node/src/transports/https.ts:12:24) at NodeBackend._setupTransport (/opt/iobroker/node_modules/@sentry/node/src/backend.ts:129:12)
Heisst, dass ich deine neue Option gerade nicht testen kann, muss am Wochenende da mal ran. Seit 3 Tagen läuft die Homeconnect Verbindung erstmal wieder stabil.
-
@derdominik Wenn das der Fall ist, solltest du den Broker neu aufsetzen. Das ist zwar eine Menge arbeit, aber die Abstürze sind nicht normal. Wahrscheinlich erübrigt sich dann auch der andere Fehler.
-
@johnnybahama das ist quack.. nur wegen einem Fehler der noch dokumentiert ist komplett alles neu aufsetzten.
@derdominik da ist im Sentry was faul
-
hmmmm
die Kaffemaschiene scheint probleme zu verursachen.. währen die einen Kaffe zubereitet bekomm ich error request überlauf
ich glaub bei Einschalten läuft da was schief... der Spüllvorgang vielleicht.. da ist noch kein Programm aktiv..