NEWS
Datenpunkte spiegel - wie?
-
Wie @homoran schon geschrieben hat - bitte als Screenshot. Du hast da sonderblöcke drin die nicht jeder hat,z.Bsp. Telegram.
Trotzdem hab ich vermutlich schon einen Punkt gefunden mit dem du API Calls gemacht hast:
<block type="control" id=")?~B?!CMm@CT)^1YH;0L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="qUpq^Z5U4E?c5(kXphs`"> <field name="TEXT">OFF</field> </block> </value> <next>Damit steuerst du den DP
tado.0.2142128.Rooms.7.setting.powermit dem Wertoff. Das löst einen API Call aus. Das gleiche bei diesem Block:<statement name="DO0"> <block type="control" id="D9JZ(!)WM?1v@/4(a^1!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.temperature.value</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="4u^R?vMp|#VG-;L(U*H9"> <field name="VAR" id="savedTemp">SaveT_Bad</field> </block> </value> </block> </statement>Davon sind in dem Skript 18 Stk. Die gehen auch alle auf
tado.0Datenpunkte.Das da dann schnell mal 100 API Calls entstehen wundert mich nicht wirklich - Insbesondere wenn du zum Testen das ganze laufen lässt.
A.
-
Wie @homoran schon geschrieben hat - bitte als Screenshot. Du hast da sonderblöcke drin die nicht jeder hat,z.Bsp. Telegram.
Trotzdem hab ich vermutlich schon einen Punkt gefunden mit dem du API Calls gemacht hast:
<block type="control" id=")?~B?!CMm@CT)^1YH;0L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="qUpq^Z5U4E?c5(kXphs`"> <field name="TEXT">OFF</field> </block> </value> <next>Damit steuerst du den DP
tado.0.2142128.Rooms.7.setting.powermit dem Wertoff. Das löst einen API Call aus. Das gleiche bei diesem Block:<statement name="DO0"> <block type="control" id="D9JZ(!)WM?1v@/4(a^1!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.temperature.value</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="4u^R?vMp|#VG-;L(U*H9"> <field name="VAR" id="savedTemp">SaveT_Bad</field> </block> </value> </block> </statement>Davon sind in dem Skript 18 Stk. Die gehen auch alle auf
tado.0Datenpunkte.Das da dann schnell mal 100 API Calls entstehen wundert mich nicht wirklich - Insbesondere wenn du zum Testen das ganze laufen lässt.
A.
sagte in Datenpunkte spiegel - wie?:
Wie @homoran schon geschrieben hat - bitte als Screenshot. Du hast da sonderblöcke drin die nicht jeder hat,z.Bsp. Telegram.
Trotzdem hab ich vermutlich schon einen Punkt gefunden mit dem du API Calls gemacht hast:
<block type="control" id=")?~B?!CMm@CT)^1YH;0L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="qUpq^Z5U4E?c5(kXphs`"> <field name="TEXT">OFF</field> </block> </value> <next>Damit steuerst du den DP
tado.0.2142128.Rooms.7.setting.powermit dem Wertoff. Das löst einen API Call aus. Das gleiche bei diesem Block:<statement name="DO0"> <block type="control" id="D9JZ(!)WM?1v@/4(a^1!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.temperature.value</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="4u^R?vMp|#VG-;L(U*H9"> <field name="VAR" id="savedTemp">SaveT_Bad</field> </block> </value> </block> </statement>Davon sind in dem Skript 18 Stk. Die gehen auch alle auf
tado.0Datenpunkte.Das da dann schnell mal 100 API Calls entstehen wundert mich nicht wirklich - Insbesondere wenn du zum Testen das ganze laufen lässt.
A.
Nachtrag:
Du müsstest mal in der Doku des Tado Adapters graben - wenn er bei jeder DP Änderung diese direkt an Tado Schickt dann würde dieser kleine Code-Schnipsel direkt 4 API Calls machen:

(Ja, das ist von mir einfach blind zusammenkopiert und hinreichend Sinnfrei. Es dient nur zur Visualisierung des Problems.)
Selbst wenn der Tado Adapter DP Änderungen 'sammelt', so das z.Bsp. alle Änderungen innerhalb von 100 ms in einem API Call geschickt werden wären das immer noch 2 API Calls.
-
sagte in Datenpunkte spiegel - wie?:
Wie @homoran schon geschrieben hat - bitte als Screenshot. Du hast da sonderblöcke drin die nicht jeder hat,z.Bsp. Telegram.
Trotzdem hab ich vermutlich schon einen Punkt gefunden mit dem du API Calls gemacht hast:
<block type="control" id=")?~B?!CMm@CT)^1YH;0L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.power</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="qUpq^Z5U4E?c5(kXphs`"> <field name="TEXT">OFF</field> </block> </value> <next>Damit steuerst du den DP
tado.0.2142128.Rooms.7.setting.powermit dem Wertoff. Das löst einen API Call aus. Das gleiche bei diesem Block:<statement name="DO0"> <block type="control" id="D9JZ(!)WM?1v@/4(a^1!"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">tado.0.2142128.Rooms.7.setting.temperature.value</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="variables_get" id="4u^R?vMp|#VG-;L(U*H9"> <field name="VAR" id="savedTemp">SaveT_Bad</field> </block> </value> </block> </statement>Davon sind in dem Skript 18 Stk. Die gehen auch alle auf
tado.0Datenpunkte.Das da dann schnell mal 100 API Calls entstehen wundert mich nicht wirklich - Insbesondere wenn du zum Testen das ganze laufen lässt.
A.
Nachtrag:
Du müsstest mal in der Doku des Tado Adapters graben - wenn er bei jeder DP Änderung diese direkt an Tado Schickt dann würde dieser kleine Code-Schnipsel direkt 4 API Calls machen:

(Ja, das ist von mir einfach blind zusammenkopiert und hinreichend Sinnfrei. Es dient nur zur Visualisierung des Problems.)
Selbst wenn der Tado Adapter DP Änderungen 'sammelt', so das z.Bsp. alle Änderungen innerhalb von 100 ms in einem API Call geschickt werden wären das immer noch 2 API Calls.
@Asgothian Ja ich verstehe. Deshalb war ja auch der Gedanke, die tado.0 DP zu spiegeln und stattdessen den userdata zu nutzen. Also im Punkt "lesen"!
Dass ich den userdata DP nicht zum schreiben verwenden kann leuchtet mir ein. Ich dachte, halt, wenn ein DP gespiegelt ist (mit einem "binde Objekt" Block) liest der den einfach lokal aus, ohne dadruch API Calls zu machen.Ich kann nicht gänzlich auf die API Calls verzichten, denn wie du in dem Beispiel schon richtig erkannt hast, steuert er das Thermostat mit "Off" wenn das Fenster geöffnet wurde.
Es war meinerseits nur die Idee, alle Datenpunkte die irgendwo zum lesen abgegriffen werden auch zu spiegeln und eben die dafür zu verwenden umd die API Calls zu minimieren.
So wie @homoran schreibt dürfte das ja dann funktionieren?Vielleicht mache ich aktuell auch viel zu viel Wind um das ganze Geschäft. Gestern war schlechtes Wetter :-) und ich hab wirklich viel im Adapter herumexperimentiert und gegen 22 Uhr war dann wegen Adapter Stop Feierabend. Möglich, dass der Alltag garkeine Probleme bereiten wird was die Menge an Calls angeht.
Ich wollte nur mal nach einer praktischen Lösung forschen... -
@Asgothian Ja ich verstehe. Deshalb war ja auch der Gedanke, die tado.0 DP zu spiegeln und stattdessen den userdata zu nutzen. Also im Punkt "lesen"!
Dass ich den userdata DP nicht zum schreiben verwenden kann leuchtet mir ein. Ich dachte, halt, wenn ein DP gespiegelt ist (mit einem "binde Objekt" Block) liest der den einfach lokal aus, ohne dadruch API Calls zu machen.Ich kann nicht gänzlich auf die API Calls verzichten, denn wie du in dem Beispiel schon richtig erkannt hast, steuert er das Thermostat mit "Off" wenn das Fenster geöffnet wurde.
Es war meinerseits nur die Idee, alle Datenpunkte die irgendwo zum lesen abgegriffen werden auch zu spiegeln und eben die dafür zu verwenden umd die API Calls zu minimieren.
So wie @homoran schreibt dürfte das ja dann funktionieren?Vielleicht mache ich aktuell auch viel zu viel Wind um das ganze Geschäft. Gestern war schlechtes Wetter :-) und ich hab wirklich viel im Adapter herumexperimentiert und gegen 22 Uhr war dann wegen Adapter Stop Feierabend. Möglich, dass der Alltag garkeine Probleme bereiten wird was die Menge an Calls angeht.
Ich wollte nur mal nach einer praktischen Lösung forschen...@IceD112 sagte in Datenpunkte spiegel - wie?:
Es war meinerseits nur die Idee, alle Datenpunkte die irgendwo zum lesen abgegriffen werden auch zu spiegeln und eben die dafür zu verwenden umd die API Calls zu minimieren.
So wie @homoran schreibt dürfte das ja dann funktionieren?Nein!
Du generierst die zusätzlichen API "Calls" beim beschreiben der Datenpunkte tado.0.xxx und nicht beim lesen.
Du müsstest in deinen Skripten/Blocklys weniger fleissig auf die DPs reagieren/schreiben.
Dein angedachtes "Spiegeln" ändert 0 daran, wenn du dann trotzdem die tado.0.xxx Datenpunkte via Adapter schreibst. -
Es gibt wohl Leute, die Tado ohne deren Cloud nutzen. - Macht ja auch Sinn, wenn der Hersteller da was limitiert. Der Batteriestatus fällt dann wohl weg. Ich selbst habe kein Tado, nur mal kurz gegoogelt.
@peterfido Danke!
Das wäre eine weitere Alternative, wenn ich mit dem TadoAdapter am Ende scheitere. Dann würde ich den Weg gehen wollen, das ganze via Matter zu lösen. Hab oben ja schonmal kurz erwähnt, dass ich schon einen Sonoff MG25 Thread Dongle hier liegen habe. Den habe ich allerdings noch nicht geflasht und im PI eingerichtet.
Wenn es nur der Batteriestatus ist der fehlt, damit könnte ich leben. Den könnte ich mir ja dann immernoch aus dem TadoAdapter nehmen, wenn ich das möchte