NEWS
Test Adaper Tado v0.1.x
-
@Hohenbostler sagte in Test Adaper Tado v0.1.x:
Und wie du schon geschrieben hast wenn Tado irgendwann wirklich dahinter kommt das du den Bezahldienst aushebelst weiß ich nicht wie lange die die API noch offen lassen
genau deswegen bauen wir es auch nich ein, wurde in diesem topic auch besprochen.
Muss auch sagen das ich keinen away state per api setzen kan, was moeglich wahre ist on/off oder temp Absenkung aber das dürft ihr mit Skripten machen kommt nicht native im Adapter.So version 0.1.4 is auf GitHub, wer den Fehler ;
"Cannot read property 'percentage' of undefined"
hatte mal bitte neueste git version ziehen sollte darin behoben sein !
~Dutch
-
Hallo Dutchman,
Fehler ist behoben. Dickes Danke
Mein log bleibt sauber.... -
@K_o_bold sagte in Test Adaper Tado v0.1.x:
Hallo Dutchman,
Fehler ist behoben. Dickes Danke
Mein log bleibt sauber....Super !
fuer alle die noch mit diskutiere Molchen über neue function bevor der adapter in stable geht, schreibt mich bitte auch telegram an @RaffiDuck
Ich plane die release fuer Weinachten -
@Dutchman sagte in Test Adaper Tado v0.1.x:
"Cannot read property 'percentage' of undefined"
hatte mal bitte neueste git version ziehen sollte darin behoben sein !
~Dutch
hattest du weiter oben mal mein Fehler angeschaut wo genau da das problem ist ? Ich hatte in der 0.1.4 immer wieder den Fall das ich eine Temperatur eingestellst habe und warum auch immer kurze Zeit später wieder auf 20°C umgestellt wurde.
-
@Hohenbostler sagte in Test Adaper Tado v0.1.x:
hattest du weiter oben mal mein Fehler angeschaut wo genau da das problem ist ? Ich hatte in der 0.1.4 immer wieder den Fall das ich eine Temperatur eingestellst habe und warum auch immer kurze Zeit später wieder auf 20°C umgestellt wurde.
auch das sollte jetzt behoben sein, ich release 0.1.4 mal auf NPM dan könnt ihre die version per admin installieren.
~Duch
-
@K_o_bold sagte in Test Adaper Tado v0.1.x:
ok ich habe den Chatverlauf weiter oben nochmal genauer durchgelesen und werde mir jetzt doch mal deine Skripte genauer anschauen.
Ich glaube wir sollten von @Dutchman nicht erwarten dass er den away / home Schalter einbaut.
Da das Inhalt des Bezahldienstes von Tado ist, wäre es nicht Sinnvoll diesen im Adapter auszuhebeln..Wäre also nett, wenn du mir mal deine aktuelle Version der Skripte schicken könntest.
Gruß
Hier nochmal die aktuellste Version von mir. Wie gesagt ist sicher nicht perfekt aber arbeitet im grunde so wie es soll und ist beliebig erweiterbar. natürlich mit etwas aufwand verbunden ABER man fummelt ja eigentlich nicht täglich daran rum.
@Dutchman sagte in Test Adaper Tado v0.1.x:
@Hohenbostler sagte in Test Adaper Tado v0.1.x:
hattest du weiter oben mal mein Fehler angeschaut wo genau da das problem ist ? Ich hatte in der 0.1.4 immer wieder den Fall das ich eine Temperatur eingestellst habe und warum auch immer kurze Zeit später wieder auf 20°C umgestellt wurde.
auch das sollte jetzt behoben sein, ich release 0.1.4 mal auf NPM dan könnt ihre die version per admin installieren.
~Duch
Vielen Dank schau ich mir heute abend an.
-
Guten Morgen,
mir ist rund um den Home/Away Mode noch was ausgefallen (Adapter Version 0.1.5):
Der Datenpunkt tado.0.*.Rooms.*.overlayType wird beim Switch in den Manual-Mode sofort auf "MANUAL" gesetzt. Beim Zurücksetzen auf Auto über tado.0.*.Rooms.*.overlay.clearZoneOverlay dauert es mehrere Minuten (Polling steht auf 59 Sekunden) bis tado.0.*.Rooms.*.overlayType von "MANUAL" auf NULL geht.Weiters bekomme ich kein Event auf tado.0.*.Rooms.*.overlayType wenn der Wert auf NULL geht. Folgender Code löst zwar aus wenn der Wert auf "MANUAL" geht, jedoch nicht wenn der Wert zurück auf NULL geht:
on({id: 'tado.0.*.Rooms.*.overlayType', change: "ne"}, function (obj) { var value = obj.state.val; console.log(value); if (value == '"MANUAL"') { setState('javascript.0.Tado.Mode', 'Manual'); } else { setState('javascript.0.Tado.Mode', 'Auto'); } });
Wenn ich versuche den Wert über einen Cronjob abzufragen
if (getState('tado.0.*.Rooms.*.overlayType').val == '"MANUAL"')
kommt im Log eine Warnung mit:
getState "tado.0.*.Rooms.*.overlayType" not found (3)
Somit drei Fragen/Wünsche:
- warum geht der Wert erst nach mehreren Minuten von "MANUAL" auf NULL, andere Werte werden wie erwatet alle 59 Sekunden aktualisiert
- warum wird kein Event ausgelöst wenn der Wert auf NULL geht (console.log(value) liefert nichts) bzw. warum kann man den Datenpunkt nicht mehr auswerten?; wird der Datenpunkt irgendwie gelöscht?
- Vorschlag: im Adapter gleich den Wert auf AUTO stellen statt NULL und statt "MANUAL" ohne Anführungszeichen auf MANUAL
-
noch etwas ist mir aufgefallen:
Wird tado.0.*.Rooms.*.setting.temperature auf einen Wert gesetzt gibt es immer 2 Log-Einträge und wohl auch zwei Events:tado.0 2019-12-18 07:33:41.162 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21 tado.0 2019-12-18 07:33:40.157 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21 tado.0 2019-12-18 07:33:31.269 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 22 tado.0 2019-12-18 07:33:30.260 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 22 tado.0 2019-12-18 07:33:00.675 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21 tado.0 2019-12-18 07:32:59.625 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21
-
@HGlab sagte in Test Adaper Tado v0.1.x:
Somit drei Fragen/Wünsche:
- warum geht der Wert erst nach mehreren Minuten von "MANUAL" auf NULL, andere Werte werden wie erwatet alle 59 Sekunden aktualisiert
Ich habe mich schon vor längerem mal an einem Skript gewagt und musste Feststellen das die API sehr "träge" reagiert und manchmal, wenn etwas gesetzt wird, erstmal einen Standardwert einstellt. Ich nehme an das das mit der API zu tun hat.
Die API von tado ist numal für deren App konzipiert und optimiert und das merkt man auch.
- warum wird kein Event ausgelöst wenn der Wert auf NULL geht (console.log(value) liefert nichts) bzw. warum kann man den Datenpunkt nicht mehr auswerten?; wird der Datenpunkt irgendwie gelöscht?
Hab es gerade getestet, liegt nicht am Adapter. Wenn in einem Datenpunkt kein Wert liegt (NULL) wird kein Trigger ausgeführt.
- Vorschlag: im Adapter gleich den Wert auf AUTO stellen statt NULL und statt "MANUAL" ohne Anführungszeichen auf MANUAL
Von der Api wird, wenn die Thermostate auf Automatik laufen, kein Wert für den Modus zurück gegeben, daher die NULL. Dutchman hatte bisher immer die Daten ausgegeben wie sie kommen. Das HAM-tado-Plugin z.B. hat beio den Bateriestand einfach Werte gesetzt. tado liefert da ja nur normal und low. Ich weiß nicht was es für eine Arbeit ist im Adapter dann die Wert umzubiegen, also wenn kein Wert für den Modus kommt auf Automatik zu setzten. Allerdings was ist dann wenn etwas ausfällt? Dann kommt auch kein Wert von der Api und es wir auf Automatik gestellt?
Wie gesagt, die Api ist ersten fast nicht Dokumentiert und auf die Benutzung der App ausgelegt. Ich hoffe das die offen bleibt und nicht irgandwan dicht gemacht wird um nur noch mit der App zu funktionieren. Deswegen bin ich da sehr skeptisch auf Eingriffe von außen.
Ich benutze den Adapter um meine Heizung zu visualisieren und den besch... Fensterstatus von tado zu umgehen.
-
@CKMartens sagte in Test Adaper Tado v0.1.x:
Ich benutze den Adapter um meine Heizung zu visualisieren und den besch... Fensterstatus von tado zu umgehen.
So nutze ich es auch. Eigentlich nur ganz rudimentär um die Temperatuen anzupassen wenn Fenster auf ist > wir nacht haben oder aber keiner mehr daheim ist.
-
@CKMartens Danke fürs Feedback!
Don't get me wrong, das waren nur Inputs was man aus meiner Sicht noch verbessern kann. Grandios, dass es den Adapter überhaupt gibt!
Mich wundert, dassif (getState('tado.0.*.Rooms.*.overlayType').val == '"MANUAL"')
nicht funtioniert und eine Warnug "getState "tado.0..Rooms..overlayType" not found (3)"
Das wäre cool wenn man den Datenpunkt anders setzen kann bzw. kennst du eine Lösung wie ich den Datenpunkt trotzdem interpretieren kann?
-
@HGlab Bin kein JavaScript Experte aber kannst Du ohne einen Selector überhaupt so mehrere States abfragen? Den die Antwort im Log ist ja das er die Platzhalter '*' scheinbar ignoriert.
Das 'MANUAL' wird übrigens automatisch von der API gesetzt wenn Du eine Temperatur in den Raum eingibst. Außerdem ist der Datenpunkt overlayType Readonly. Also musstest Du da, wenn Du was ändern möchtest die Eigenschaften des Datenpunktes zuerst anpassen.
-
@HGlab sagte in Test Adaper Tado v0.1.x:
noch etwas ist mir aufgefallen:
Wird tado.0.*.Rooms.*.setting.temperature auf einen Wert gesetzt gibt es immer 2 Log-Einträge und wohl auch zwei Events:tado.0 2019-12-18 07:33:41.162 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21 tado.0 2019-12-18 07:33:40.157 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21 tado.0 2019-12-18 07:33:31.269 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 22 tado.0 2019-12-18 07:33:30.260 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 22 tado.0 2019-12-18 07:33:00.675 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21 tado.0 2019-12-18 07:32:59.625 info (22365) Temperature changed for room : 1 in home : xxxxxxto API with : 21
das sollte in der neuesten version gefixt sein
-
@CKMartens sagte in Test Adaper Tado v0.1.x:
@HGlab Bin kein JavaScript Experte aber kannst Du ohne einen Selector überhaupt so mehrere States abfragen? Den die Antwort im Log ist ja das er die Platzhalter '*' scheinbar ignoriert.
@HGlab sagte in Test Adaper Tado v0.1.x:
@CKMartens Danke fürs Feedback!
Don't get me wrong, das waren nur Inputs was man aus meiner Sicht noch verbessern kann. Grandios, dass es den Adapter überhaupt gibt!
Mich wundert, dassif (getState('tado.0.*.Rooms.*.overlayType').val == '"MANUAL"')
das geht so nicht gestate ist spezifisch (siehe docu) du musst dafür einen selector verwenden.
-
-
@Hohenbostler sagte in Test Adaper Tado v0.1.x:
Power changed for room : 3 in home : 363512to API with : ON error from temperature : TypeError: termination.toLowerCase is not a function
Zu diesem Error habe ich folgende Feststellung gemacht:
Ich habe in meinem "away" Skript im Sekundentakt die Thermostatventile angesprochen. Dabei hat sich wohl der ein oder andere verhaspelt, bzw. die Befehle an die API wurden wohl teilweise verschluckt.
Seidem ich das im 5 sekunden Takt mache, kommt der Fehler nicht mehr.
Ich glaube nicht, dass @Dutchman , da einen Einfluss in dem Adapter hat.
-
@Dutchman Die Sterne (*) sind nur eine Art "Anonymisierung. Hab ein ganz konkreten Datenpunkt abgefragt.
Der Datenpunkt liefert nur nichts zurück. Auch wenn man mit der Maus über den Datenpunkt fährt gibt es keine Mouseover-Info - auch kein Wert=null.
Daher die Vermutung, dass man den Datenpunkt "sauberer" versorgen kann.Ich frage nun mittels der Methode isState ab und interpretiere daraus das Verhalten (wenn true dann MANUAL sonst AUTO
function isState(strStatePath) { let mSelector; mSelector = $('state[id=' + strStatePath + '$]'); if (mSelector.length > 0) { return true; } else { return false; } };
Eigentlich wäre es aus meiner Sicht sinnvoll diese Funktion in die getState Funktion einzubauen und null retour zu liefern wenn die Funktion false ist ansonst die getState so zu durchlaufen wie bisher.
-
@HGlab sagte in Test Adaper Tado v0.1.x:
Der Datenpunkt liefert nur nichts zurück. Auch wenn man mit der Maus über den Datenpunkt fährt gibt es keine Mouseover-Info - auch kein Wert=null.
@HGlab sagte in Test Adaper Tado v0.1.x:
Eigentlich wäre es aus meiner Sicht sinnvoll diese Funktion in die getState Funktion einzubauen und null retour zu liefern wenn die Funktion false ist ansonst die getState so zu durchlaufen wie bisher.
die API gib einen NULL wert darum ist er null und nicht false, NULL = auto modus
-
@Dutchman
Hey,
mir ist beim Erstellen eines Scriptes aufgefallen, dass da in einer Bezeichnung ein Fehler unterlaufen ist.
Ist nichts kritisches, aber wäre gut, wenn der Name noch angepasst werden könnte.
Und ich habe noch folgendes Problem:
Anfangs konnte ich die Power eines Thermostats per Skript auf Off setzen. Da hat es die Off Zeit auf unendlich bis eine neue Eingabe gemacht wird gesetzt. Jetzt setzt es diese nur noch bis zur nächste Heizplanänderung. Gibt es dafür schon eine Lösung?
-
Hallo zusammen,
ich habe gelegentlich das Problem, dass nach einer gewissen Zeit durch den Adapter keine Werte mehr kommen. Es wird dann NaN angezeigt. Nach einem Neustart des Adapter geht es dann wieder.
Nachdem es wieder vor paar Tagen aufgetreten ist, habe ich diesmal vor dem Neustart den LogLevel auf Debug gestellt. Heute morgen habe ich wieder den Fall bemerkt; vielleicht war es auch gestern schon. Auf jeden Fall habe ich mal das Logfile für heute heruntergeladen.
Ich kann es dem Entwickler et. al. bereitstellen, werde es aber nicht hier hochladen, da m.E. auch sensible Daten meines Systems drin stehen könnten.
Danke vorab