NEWS
Test Adapter homeconnect (BSH Home-Connect) v0.0.x
-
wir haben eine Verschiebund in den Datenpunkten. bei Trockner
.kann sein dass der JSON da nicht richtig auseinandergenommen wird ??
Geschätzte Restzeit ist true ..aha
-
@arteck Der Name scheint falsch von der API kommen der Datenpunkt heißt
BSH_Common_Option_RemainingProgramTimeIsEstimated
Der Name passt dazu ist inkorrekt. Man könnte ihn mal löschen und schauen ob er korrekt neu erstellt wird -
@tombox Hier der debug
homeconnect.0 2021-10-14 21:53:00.512 info NEFF-D96BMV5N5-68A40E08BA18: There is no program active homeconnect.0 2021-10-14 21:52:52.849 debug Rate per min: 5 homeconnect.0 2021-10-14 21:52:52.848 debug Delete: NEFF-D96BMV5N5-68A40E08BA18.programs.active.options homeconnect.0 2021-10-14 21:52:52.847 debug active.options. homeconnect.0 2021-10-14 21:52:52.796 debug "" homeconnect.0 2021-10-14 21:52:52.795 debug 204 homeconnect.0 2021-10-14 21:52:52.765 debug NEFF-D96BMV5N5-68A40E08BA18.programs.active.BSH_Common_Root_ActiveProgram:null homeconnect.0 2021-10-14 21:52:52.765 debug NEFF-D96BMV5N5-68A40E08BA18.settings.BSH_Common_Setting_PowerState:BSH.Common.EnumType.PowerState.Off homeconnect.0 2021-10-14 21:52:52.762 debug event: {"type":"NOTIFY","data":"{\"items\":[{\"timestamp\":1634241172,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/settings/BSH.Common.Setting.PowerState\",\"key\":\"BSH.Common.Setting.PowerState\",\"value\":\"BSH.Common.EnumType.PowerState.Off\",\"level\":\"hint\"},{\"timestamp\":1634241172,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/programs/active\",\"key\":\"BSH.Common.Root.ActiveProgram\",\"value\":null,\"level\":\"hint\"}],\"haId\":\"NEFF-D96BMV5N5-68A40E08BA18\"}","lastEventId":"NEFF-D96BMV5N5-68A40E08BA18","origin":"https://api.home-connect.com"} homeconnect.0 2021-10-14 21:52:52.760 debug NEFF-D96BMV5N5-68A40E08BA18.status.BSH_Common_Status_OperationState:BSH.Common.EnumType.OperationState.Inactive homeconnect.0 2021-10-14 21:52:52.759 debug event: {"type":"STATUS","data":"{\"items\":[{\"timestamp\":1634241172,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/status/BSH.Common.Status.OperationState\",\"key\":\"BSH.Common.Status.OperationState\",\"value\":\"BSH.Common.EnumType.OperationState.Inactive\",\"level\":\"hint\"}],\"haId\":\"NEFF-D96BMV5N5-68A40E08BA18\"}","lastEventId":"NEFF-D96BMV5N5-68A40E08BA18","origin":"https://api.home-connect.com"} homeconnect.0 2021-10-14 20:52:46.480 debug Rate per min: 4 homeconnect.0 2021-10-14 20:52:46.480 debug {"data":{"key":"BSH.Common.Setting.PowerState","value":"BSH.Common.EnumType.PowerState.Off","type":"BSH.Common.Setting.PowerState"}} homeconnect.0 2021-10-14 20:52:46.479 debug NEFF-D96BMV5N5-68A40E08BA18/settings/BSH.Common.Setting.PowerState homeconnect.0 2021-10-14 20:52:44.363 error Put folder failed NEFF-D96BMV5N5-68A40E08BA18/commands/Cooking.Common.Option.Hood.VentingLevel{"data":{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage01"}} homeconnect.0 2021-10-14 20:52:44.363 info 409: Request cannot be performed since no program is selected homeconnect.0 2021-10-14 20:52:39.684 debug Rate per min: 3 homeconnect.0 2021-10-14 20:52:39.684 debug {"data":{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage01"}} homeconnect.0 2021-10-14 20:52:39.683 debug NEFF-D96BMV5N5-68A40E08BA18/programs/selected/options/Cooking.Common.Option.Hood.VentingLevel homeconnect.0 2021-10-14 20:52:28.342 error Put folder failed NEFF-D96BMV5N5-68A40E08BA18/commands/Cooking.Common.Option.Hood.VentingLevel{"data":{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage02"}} homeconnect.0 2021-10-14 20:52:28.341 info 409: Request cannot be performed since no program is selected homeconnect.0 2021-10-14 20:52:28.181 debug Rate per min: 2 homeconnect.0 2021-10-14 20:52:28.181 debug {"data":{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage02"}} homeconnect.0 2021-10-14 20:52:28.180 debug NEFF-D96BMV5N5-68A40E08BA18/programs/selected/options/Cooking.Common.Option.Hood.VentingLevel homeconnect.0 2021-10-14 20:52:17.508 debug Create State: NEFF-D96BMV5N5-68A40E08BA18.programs.active.options.BSH_Common_Option_ElapsedProgramTime homeconnect.0 2021-10-14 20:52:17.508 debug Create State: NEFF-D96BMV5N5-68A40E08BA18.programs.active.options.Cooking_Common_Option_Hood_IntensiveLevel homeconnect.0 2021-10-14 20:52:17.508 debug Create State: NEFF-D96BMV5N5-68A40E08BA18.programs.active.options.Cooking_Common_Option_Hood_VentingLevel homeconnect.0 2021-10-14 20:52:17.508 debug {"data":{"options":[{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage02","name":"Lüfterstufe","displayvalue":"2"},{"key":"Cooking.Common.Option.Hood.IntensiveLevel","value":"Cooking.Hood.EnumType.IntensiveStage.IntensiveStageOff","name":"Intensivstufen","displayvalue":"Aus"},{"key":"BSH.Common.Option.ElapsedProgramTime","value":0,"unit":"seconds","name":"Programmlaufzeit"}]}} homeconnect.0 2021-10-14 20:52:17.507 debug /programs/active/options homeconnect.0 2021-10-14 20:52:17.289 debug Rate per min: 1 homeconnect.0 2021-10-14 20:52:17.287 debug Delete: NEFF-D96BMV5N5-68A40E08BA18.programs.active.options homeconnect.0 2021-10-14 20:52:17.286 debug active.options. homeconnect.0 2021-10-14 20:52:17.118 debug NEFF-D96BMV5N5-68A40E08BA18.programs.active.options.BSH_Common_Option_ElapsedProgramTime:0 homeconnect.0 2021-10-14 20:52:17.118 debug NEFF-D96BMV5N5-68A40E08BA18.programs.active.options.Cooking_Common_Option_Hood_VentingLevel:Cooking.Hood.EnumType.Stage.FanStage02 homeconnect.0 2021-10-14 20:52:17.117 debug NEFF-D96BMV5N5-68A40E08BA18.programs.active.BSH_Common_Root_ActiveProgram:Cooking.Common.Program.Hood.Venting homeconnect.0 2021-10-14 20:52:17.116 debug NEFF-D96BMV5N5-68A40E08BA18.settings.BSH_Common_Setting_PowerState:BSH.Common.EnumType.PowerState.On homeconnect.0 2021-10-14 20:52:17.116 debug event: {"type":"NOTIFY","data":"{\"items\":[{\"timestamp\":1634241137,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/settings/BSH.Common.Setting.PowerState\",\"key\":\"BSH.Common.Setting.PowerState\",\"value\":\"BSH.Common.EnumType.PowerState.On\",\"level\":\"hint\"},{\"timestamp\":1634241137,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/programs/active\",\"key\":\"BSH.Common.Root.ActiveProgram\",\"value\":\"Cooking.Common.Program.Hood.Venting\",\"level\":\"hint\"},{\"timestamp\":1634241137,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/programs/active/options/Cooking.Common.Option.Hood.VentingLevel\",\"key\":\"Cooking.Common.Option.Hood.VentingLevel\",\"value\":\"Cooking.Hood.EnumType.Stage.FanStage02\",\"level\":\"hint\"},{\"timestamp\":1634241137,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/programs/active/options/BSH.Common.Option.ElapsedProgramTime\",\"key\":\"BSH.Common.Option.ElapsedProgramTime\",\"unit\":\"seconds\",\"value\":0,\"level\":\"hint\"}],\"haId\":\"NEFF-D96BMV5N5-68A40E08BA18\"}","lastEventId":"NEFF-D96BMV5N5-68A40E08BA18","origin":"https://api.home-connect.com"} homeconnect.0 2021-10-14 20:52:17.115 debug NEFF-D96BMV5N5-68A40E08BA18.status.BSH_Common_Status_OperationState:BSH.Common.EnumType.OperationState.Run homeconnect.0 2021-10-14 20:52:17.114 debug event: {"type":"STATUS","data":"{\"items\":[{\"timestamp\":1634241137,\"handling\":\"none\",\"uri\":\"/api/homeappliances/NEFF-D96BMV5N5-68A40E08BA18/status/BSH.Common.Status.OperationState\",\"key\":\"BSH.Common.Status.OperationState\",\"value\":\"BSH.Common.EnumType.OperationState.Run\",\"level\":\"hint\"}],\"haId\":\"NEFF-D96BMV5N5-68A40E08BA18\"}","lastEventId":"NEFF-D96BMV5N5-68A40E08BA18","origin":"https://api.home-connect.com"} homeconnect.0 2021-10-14 20:52:17.113 debug "" homeconnect.0 2021-10-14 20:52:17.112 debug 204 homeconnect.0 2021-10-14 20:52:14.036 debug Rate per min: 0 homeconnect.0 2021-10-14 20:52:14.035 debug {"data":{"key":"BSH.Common.Setting.PowerState","value":"BSH.Common.EnumType.PowerState.On","type":"BSH.Common.Setting.PowerState"}} homeconnect.0 2021-10-14 20:52:14.034 debug NEFF-D96BMV5N5-68A40E08BA18/settings/BSH.Common.Setting.PowerState homeconnect.0 2021-10-14 20:51:02.785 info Loglevel changed from "info" to "debug"
-
@johnnybahama Also ich vermute das problem bei der api
/commands/Cooking.Common.Option.Hood.VentingLevel {"data":{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage01"}}
Müsste man mal fragen ob das so von der api unterstützt wird
https://developer.home-connect.com/support/contact -
@tombox hab schon ..wird nicht
die Datenpunkte oben drüber werden auch nicht mehr gefüllt wenn der Trockner läuft
also programmfortschiritt
geschätzte gesamtdauerda muss eine änderung gekommen sein setens API.. die waren mal gefüllt.. da ich mit den Werten gerechnet habe..
das einzige was akutalisiert wird ist die Verbleibende Programmlaufzeit.. deshalb die annahme einer Verschiebung
-
@arteck Das heißt wenn du sie löscht werden sie auch nicht neu erstellt?
-
@tombox Nur eine saloppe allgemeine Email erhalten. Inhalt: Wir werden immer wieder mal feature hinzufügen, dass kann man sich im changelog anschauen. Nicht alles von der mobile app wird übernommen. BlaBlaBla.
Also muss ich damit leben.
-
@tombox erstellt schon nur nicht aktualisiert
-
@arteck Der Adapter stellt nur das dar was über die API kommt wenn es dazu kein event gibt wird es nicht aktualisiert
-
@tombox Siehe da, es kam noch unerwartet eine zweite Mail von Home Connect:
Yes, API does support venting level change for the hood.
It seems that you are using incorrect URL to do that:
/commands/Cooking.Common.Option.Hood.VentingLevel
{"data":{"key":"Cooking.Common.Option.Hood.VentingLevel","value":"Cooking.Hood.EnumType.Stage.FanStage01"}}
Venting level is not a command but option, therefore you need to send PUT /api/homeappliances/{haId}/programs/active/options/Cooking.Common.Option.Hood.VentingLevel (also please look into: https://api-docs.home-connect.com/programs-and-options?#hood_venting-level-option) or start new program along with new options.
-
@johnnybahama ok funktioniert das so für dich als Option bevor du das Gerät aktivierst
-
@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>