NEWS
Stabiles Netatmo Thermostat Blockly (Adapter)
-
Moin @helfi9999
Der Fehler "Bad Gateway" bedeutet, dass der Server nicht erreichbar ist, dies kann viele Ursachen haben, entweder liegt tatsächlich bei Netatmo ein Problem vor, oder aber auch ein Knotenpunkt auf dem Weg dorthin könnten hier verantwortlich sein.
Machen kannst du da in dem Fall wohl nichts, außer eventuell Netatmo kontaktieren sollte der Fehler länger auftreten, ich denke aber es werden schon ein paar fleißige Handwerker an der Sache dran sein 😊 in der Regel sind solche Fehler "schnell" behoben…
Wird der Fehler zu jeder Intervall Aktualisierung ausgegeben? Stellt sich der Status ordnungsgemäß auf false?
EDIT: warum du dennoch auf die Seite von Netatmo kommst, kann daran liegen, dass oft mehrere Server in Betrieb sind gerade für die Verarbeitung deiner Heizungsdaten etc.
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Moin @helfi9999
Der Fehler "Bad Gateway" bedeutet, dass der Server nicht erreichbar ist, dies kann viele Ursachen haben, entweder liegt tatsächlich bei Netatmo ein Problem vor, oder aber auch ein Knotenpunkt auf dem Weg dorthin könnten hier verantwortlich sein.
Machen kannst du da in dem Fall wohl nichts, außer eventuell Netatmo kontaktieren sollte der Fehler länger auftreten, ich denke aber es werden schon ein paar fleißige Handwerker an der Sache dran sein 😊 in der Regel sind solche Fehler "schnell" behoben…
Wird der Fehler zu jeder Intervall Aktualisierung ausgegeben? Stellt sich der Status ordnungsgemäß auf false?
EDIT: warum du dennoch auf die Seite von Netatmo kommst, kann daran liegen, dass oft mehrere Server in Betrieb sind gerade für die Verarbeitung deiner Heizungsdaten etc.
Hi, was bedeutet das:
Gruss helfi -
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Moin @helfi9999
Der Fehler "Bad Gateway" bedeutet, dass der Server nicht erreichbar ist, dies kann viele Ursachen haben, entweder liegt tatsächlich bei Netatmo ein Problem vor, oder aber auch ein Knotenpunkt auf dem Weg dorthin könnten hier verantwortlich sein.
Machen kannst du da in dem Fall wohl nichts, außer eventuell Netatmo kontaktieren sollte der Fehler länger auftreten, ich denke aber es werden schon ein paar fleißige Handwerker an der Sache dran sein 😊 in der Regel sind solche Fehler "schnell" behoben…
Wird der Fehler zu jeder Intervall Aktualisierung ausgegeben? Stellt sich der Status ordnungsgemäß auf false?
EDIT: warum du dennoch auf die Seite von Netatmo kommst, kann daran liegen, dass oft mehrere Server in Betrieb sind gerade für die Verarbeitung deiner Heizungsdaten etc.
Hi, was bedeutet das:
Gruss helfiGuten Morgen @helfi9999
code 6 bedeutet, dass dieses Thermostat nicht erreichbar ist 😖
Es ist ja immer das selbe Thermostat, vielleicht sind die Batterien leer?
Manchmal (oft) erkennen die Thermostate erst das die Batterien leer sind, wenn es schon viel zu spät ist leider, hatte ich gestern auch erst 🙄Bei Gelegenheit baue ich nochmal die Log Einträge bei einigen Fehlern um, damit einfacher zu erkennen ist, wo das Problem liegt, vielleicht mit Raum Namen und Thermostat ID.
Was ich aber nachher mal machen werde, eine Liste im ersten Beitrag erstellen, welcher Error Code was bedeutet…Aus der api kommt halt nur ein Error Code (hier 6) und eine sehr knappe Beschreibung (in dem Fall Thermostat ID), das Blockly versucht diesen Fehler aktuell noch nicht weiter zu bearbeiten und gibt diesen nur weiter.
-
Guten Morgen @helfi9999
code 6 bedeutet, dass dieses Thermostat nicht erreichbar ist 😖
Es ist ja immer das selbe Thermostat, vielleicht sind die Batterien leer?
Manchmal (oft) erkennen die Thermostate erst das die Batterien leer sind, wenn es schon viel zu spät ist leider, hatte ich gestern auch erst 🙄Bei Gelegenheit baue ich nochmal die Log Einträge bei einigen Fehlern um, damit einfacher zu erkennen ist, wo das Problem liegt, vielleicht mit Raum Namen und Thermostat ID.
Was ich aber nachher mal machen werde, eine Liste im ersten Beitrag erstellen, welcher Error Code was bedeutet…Aus der api kommt halt nur ein Error Code (hier 6) und eine sehr knappe Beschreibung (in dem Fall Thermostat ID), das Blockly versucht diesen Fehler aktuell noch nicht weiter zu bearbeiten und gibt diesen nur weiter.
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Guten Morgen @helfi9999
code 6 bedeutet, dass dieses Thermostat nicht erreichbar ist 😖
Es ist ja immer das selbe Thermostat, vielleicht sind die Batterien leer?
Manchmal (oft) erkennen die Thermostate erst das die Batterien leer sind, wenn es schon viel zu spät ist leider, hatte ich gestern auch erst 🙄Bei Gelegenheit baue ich nochmal die Log Einträge bei einigen Fehlern um, damit einfacher zu erkennen ist, wo das Problem liegt, vielleicht mit Raum Namen und Thermostat ID.
Was ich aber nachher mal machen werde, eine Liste im ersten Beitrag erstellen, welcher Error Code was bedeutet…Aus der api kommt halt nur ein Error Code (hier 6) und eine sehr knappe Beschreibung (in dem Fall Thermostat ID), das Blockly versucht diesen Fehler aktuell noch nicht weiter zu bearbeiten und gibt diesen nur weiter.
Ok, danke für die Info
-
@Newpicsel Hallo, habe gerade festgestellt das der Fenster Status nicht mehr funktioniert!!
:confounded:
-
@Newpicsel Hallo, habe gerade festgestellt das der Fenster Status nicht mehr funktioniert!!
:confounded:
Was bedeutet funktioniert nicht mehr? 😅
Hab’s grad bei mir getestet, und da funktioniert alles 🙈
-
Was bedeutet funktioniert nicht mehr? 😅
Hab’s grad bei mir getestet, und da funktioniert alles 🙈
-
Merkwürdig, ohne dass irgendwas geändert wurde 🤔
Die Temperatur wird natürlich nicht umgestellt wenn das Fenster laut System nicht geöffnet wird…
Der eigentliche Wert von dem Sensor selbst wird aber aktualisiert?
Kann mir nur vorstellen, dass sich da irgendwas aufgehängt hat, mal die ID entfernen und erst wenn er einmal leer war, neu einfügen, normal sollte ein Blockly Neustart vielleicht auch schon helfen, ganz zur Not mal den kompletten Ordner mit der externen Steuerung löschen 🤷♂️ -
Merkwürdig, ohne dass irgendwas geändert wurde 🤔
Die Temperatur wird natürlich nicht umgestellt wenn das Fenster laut System nicht geöffnet wird…
Der eigentliche Wert von dem Sensor selbst wird aber aktualisiert?
Kann mir nur vorstellen, dass sich da irgendwas aufgehängt hat, mal die ID entfernen und erst wenn er einmal leer war, neu einfügen, normal sollte ein Blockly Neustart vielleicht auch schon helfen, ganz zur Not mal den kompletten Ordner mit der externen Steuerung löschen 🤷♂️@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Merkwürdig, ohne dass irgendwas geändert wurde 🤔
Die Temperatur wird natürlich nicht umgestellt wenn das Fenster laut System nicht geöffnet wird…
Der eigentliche Wert von dem Sensor selbst wird aber aktualisiert?
Kann mir nur vorstellen, dass sich da irgendwas aufgehängt hat, mal die ID entfernen und erst wenn er einmal leer war, neu einfügen, normal sollte ein Blockly Neustart vielleicht auch schon helfen, ganz zur Not mal den kompletten Ordner mit der externen Steuerung löschen 🤷♂️So habe heute wieder nachgeschaut:
- Büro Fenster auf ,keine Umstellung von ID"fensterStatusopen" auf true erst wenn ich den Blockly neu starte geht es
- Also Script neugestartet und nochmals Fenster geöffnet dann klappt es.
ABER Soll_Temp geht von 19°C auf 7°C und dann direkt wieder auf 19°C als ob nichts passiert ist obwohl das Fenster geöffnet ist.
Beim 2. Mal Fenster auf klappt es und hoffentlich nicht nur bis morgen..
-
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Merkwürdig, ohne dass irgendwas geändert wurde 🤔
Die Temperatur wird natürlich nicht umgestellt wenn das Fenster laut System nicht geöffnet wird…
Der eigentliche Wert von dem Sensor selbst wird aber aktualisiert?
Kann mir nur vorstellen, dass sich da irgendwas aufgehängt hat, mal die ID entfernen und erst wenn er einmal leer war, neu einfügen, normal sollte ein Blockly Neustart vielleicht auch schon helfen, ganz zur Not mal den kompletten Ordner mit der externen Steuerung löschen 🤷♂️So habe heute wieder nachgeschaut:
- Büro Fenster auf ,keine Umstellung von ID"fensterStatusopen" auf true erst wenn ich den Blockly neu starte geht es
- Also Script neugestartet und nochmals Fenster geöffnet dann klappt es.
ABER Soll_Temp geht von 19°C auf 7°C und dann direkt wieder auf 19°C als ob nichts passiert ist obwohl das Fenster geöffnet ist.
Beim 2. Mal Fenster auf klappt es und hoffentlich nicht nur bis morgen..
Dass die Temperatur nochmal direkt umspringt, kann durchaus sein, hab ich auch gelegentlich, wenn gerade eine Intervall Aktualisierung ausgefüttert wird, dann steht in iobroker unter Umständen bis zur nächsten Aktualisierung der falsche wert, schaue mal in die App wenn dies passiert, die Temperatur sollte dort auf 7 grad stehen…
Es gibt hier leider kein callback bei einer Änderung in der api und so fragt nur der Intervall die tatsächlichen Werte ab, was sich durchaus leider überschneiden kann 😔
Ich hoffe mal, dass deine Hacker in Moment mit dem letzten Update an sich zusammen hängen, sonst kontrolliere mal deine Systemauslastung.
Hast du viele Blocklys am laufen? Bei mir laufen auch viele aber vielleicht ist das System in irgendeiner Form überlastet 🤷♂️EDIT: ich kann halt höchstens eine automatische Aktualisierung nach jeder aus iobroker gehenden Änderung ansteuern, aber das bedeutet noch mehr Systembelastung, die meisten Systeme sollten es wohl packen und wenn der Intervall nicht zu kurz eingestellt ist, sollte auch die API keine Probleme machen 🤔
Ich werde das wohl optional hinzufügen, so dass diese Funktion per Objekt aktiviert/deaktiviert werden kann, sich jedoch bei einem Intervall kleiner als 30s selbst deaktiviert!
Der Wert kann dennoch kurz zurück springen wenn ganz knapp läuft 😅 aber sollte sich dann auch sofort wieder korrigieren… -
Moin Smart Home Freunde,
Da es mal kein Adapter für die Netatmo Thermostate gab, hab ich ein Blockly erstellt, welches die gleichen bzw. Sogar noch etwas mehr und einfachere Objekte, funktionen und möglichkeiten erzeugt und bietet wie ein handelsüblicher Adapter.
Warum ich nicht gleich ein Adapter erstellt habe, liegt daran, dass ich eigentlich keine Ahnung habe was ich hier mache, das Blockly ist garantiert auch nicht perfekt und nicht fehlerfrei aber bei mir sowie einigen fleißigen Testern, funktioniert es wunderbar, zumindest vorerst sind allerdings nur 10 (mittlerweile15) Thermostate steuerbar, wenn mehr benötigt werden, kurz bescheid geben...
Ich habe das Blockly so aufgebaut, dass es bei jedem funktionieren sollte, nach anfänglichen Schwierigkeiten, funktioniert dies auch wunderbar, es müssen lediglich ein paar Daten für die Anmeldung in Objekte eingetragen werden, wie es genauso bei einem Adapter nötig wäre.
!!ACHTUNG!!!
Bei einigen Nutzern haben Sonderzeichen gerade das "$" Zeichen in den Zugangsdaten Probleme gemacht!
Solltet ihr direkt von Anfang an Probleme haben, versucht bitte diese zu ändern.
Ich habe wenig Hoffnung aber werde versuchen dieses Problem zu beheben und werde es dann in der Version erwähnen.Um Das Blockly zu nutzen, müsst ihr nur die nachfolgende RAR Datei Downloaden, darin befindet sich lediglich eine einfache Textdatei, dessen Inhalt (Code) ihr kopieren müsst, dann erstellt ihr euch in ioBroker unter <> Skripte innerhalb des Common Ordners (kann auch im Ordner eines Ordners sein) ein neues Blockly welches ihr nennen könnt, wie es euch gefällt, zB. "Netatmo_Blockly", darin findet ihr oben rechts ein Symbol von einem Blatt Papier mit einem Pfeil rein, wenn ihr darauf klickt, könnt ihr den vorher Kopierten Code aus meiner Textdatei, einfügen und speichern.
Fertig soweit!Es kann beim öffnen der "TXT" Datei aus der "RAR" Datei (in dem der Code für das Blockly ist) mit einem separaten program oder Editor zu Problemen kommen, wenn dadurch Sonderzeichen ersetzt werden könnten, hier seid ihr mit dem Windows eigenen Editor auf der sicheren Seite, solltet ihr euch nicht sicher sein!
(Auch und vor allem „ä“ „ö“ „ü“ werden zum Teil durch eine Zeichenfolge ersetzt, mit der iobroker und das Blockly nichts anfangen können)Alle nötigen Objekte wurden nun bereits angelegt und die Zugangsdaten können eingetragen werden.
Die komplette Struktur befindet sich nach erstmaligem starten des Blocklys unter:
"0_userdata.0.Eigene_Objekte.Netatmo"
Dort müssen die Zugangsdaten in die entsprechenden Objekte eingetragen werden.
Die Zugangsdaten müssen zwingend als wert in die entsprechenden Objekte eingetragen werden, dies macht ihr indem ihr auf das Feld im Reiter „wert“ klickt, NICHT aber (auch wenn dies sehr verwirrend dargestellt ist) auf den Stift rechts daneben! Seid ihr euch nicht sicher wie dies funktioniert, fragt gerne nach 😊👍Die Home ID und Client Daten, bekommt ihr auf der Hompage:
https://dev.netatmo.com/apidocumentation/energy#homesdata
Dazu müsst ihr euch anmelden und einmal EXECUTE/HOMESDATA ausführen, im feld darunter steht dann die Home ID,
für die Client Daten müsst ihr im Profil eine App anlegen, die angaben spielen keine rolle, hauptsache ihr bekommt die leider nötigen Daten...
Hier müsst Ihr nun auch das erste mal die Token selbst generieren (Access_Token und Refresh_Token) und diese ebenfalls einmalig in die Objekte eintragen!
Ab diesem Moment arbeitet das Blockly eigenständig und erneuert diese Token automatisch.
Das Blockly sollte erkennen sobald alle zugangsdaten angegeben sind, womit dann direkt alle daten aus der API abgefragt werden.
Normalerweise klappt direkt alles und es werden alle nötigen Objekte geschrieben, wobei es beim ersten start zu warnungen im log kommen könnte, einige Werte von Objekten, werden schneller abgefragt als die Objekte angelegt sind.
Der automatische Intervall sollte nun auf 60sek stehen.Das Objekt "Status", sollte nun den Wert "true" angeben, dies bedeutet es läuft alles problemlos.
Ansonsten im Log nachsehen, welche Aktionen erfolgreich ausgeführt wurden und welche eben nicht, entweder reichen diese Information um es selbst erneut zu versuchen, oder ihr postet euer Problem hier mit Angaben der Log Daten!
Keine Angst, ich helfe sehr gerne!Wenn alles geklappt hat (wovon ich stark ausgehe), werden jetzt einige nützliche informationen zur verfügung gestellt:
-
Alle Räume und deren Thermostate sowie der Bridge,
-
Die aktuelle Temperatur und die zu erreichende soll Temperatur,
-
Ob das Thermometer ein offenes Fenster erkennt,
-
Sowie die zuvor in der App erstellten und somit möglichen Heizpläne und natürlich den aktiven Heizplan,
-
Der Status der Batterien (Batterie Level und Status wie z.B. "High", "Full" und "Low"),
-
Die aktuelle Heizleistung der Thermostate (wie weit diese geöffnet sind),
-
Erreichbarkeit der Thermostate und Geräte, sowie deren Wifi und RF Qualität,
-
Einige ID‘s und JSON Objekte bzw. ARRAY‘s mit denen die meisten nichts anfangen können aber auch nicht müssen, die wichtigsten Daten habe ich ja bereits separiert. (Sollten weitere Datenpunkte und Informationen gewünscht sein, Gebt gerne Bescheid)
Eigentlich alles was die Thermostate, Geräte und oder die API zur Verfügung stellen, Strenggenommen sogar etwas mehr, denn:
- die durchschnittliche Temperatur des Hauses oder der Wohnung,
- ein Objekt in "Home" welches angibt ob irgendwo geheizt wird,
- die zusammengefasste Anzeige in der Übersicht, ob irgendwelche Batterien Probleme machen (false/true),
- die Möglichkeit hier eine soll_Temperatur für das komplette Haus/Wohnung eingeben zu können,
- die Batterie Kapazität in % (nur eine Schätzung, da werte der API leider sehr ungenau und teilweise von voll auf leer springen 🤷♂️)
- sowie viele Kleinigkeiten
und das automatische abfragen und senden aller Daten ist so in der Form eigentlich nicht vorgesehen.
Einige Einstellungsmöglichkeiten und Funktionen stehen nun auch zur Verfügung:
-
einstellen einer Soll_Temperatur für jeden Raum + oder allen Raümen gleichzeitig,
-
ändern des Heizplanes (WICHTIG genauen Name in das Objekt "Modus" eintragen, auch Großbuchstaben beachten!),
-
aktivieren der (nicht zuhause) der (Frostschutz) Funktion und das zurückkehren zu den aktiven Heizplan, dazu die Objekte mit true ansteuern oder ObjektID‘s in die Objekte eintragen, die auf true/false wechseln (z.B. aus dem AVM Adapter), wobei false dann immer zu denn Heizplan wechseln würde bzw. zwei mögliche ID‘s für die Anwesenheit zur Verfügung stehen, die sich gegenseitig abfragen (beide „false“ oder eben einer „true“), wird in dem zweiten Objekt nichts eingetragen, wird dieses ignoriert, bei „false“ kann hier ausgewählt werden ob die "AWAY" oder die „FROST“ Funktion aktiviert werden soll (entweder "AWAY" oder "FROST" (Großbuchstaben) eintragen), die jeweiligen in der App eingestellten Temperaturen werden hier ebenfalls angezeigt.
-
Die Möglichkeit eine ID eines externen Sensors für Fenster und Türen einzubinden oder ein Objekt mit „true/false“ anzusteuern (dieses gibt in beiden Fällen (auch bei Nutzung der ObjektID) den aktuellen Zustand wieder), und danach die Temperaturen der Räume zu regeln (hier kann für jeden Raum eine gewünschte Temperatur eingetragen werden oder bei „0“ wird die Frostwächter Temperatur gewählt, die bis zum schließen des „Fensters“ gehalten wird, sobald das "Fenster" geschlossen wurde, wird zur Temperatur des regulären Heizplanes zurückgekehrt.
(Sollte die Funktion genutzt werden, ist es nicht möglich die Temperatur in dem Raum zu ändern während das „Fenster“ geöffnet ist, möchte die Temperatur dennoch geändert werden, muss das Objekt "Fenster_Offen" auf „false“ gestellt werden, beim nächsten öffnen stellt dieses dann wieder auf „true“.)
Eine Verzögerung ab wann die Sensoren tatsächlich die Heizung steuern sollen, entweder global oder für jeden Raum in Sekunden (z.B. für eine Terrassentür interessant, wenn nicht jedes kurze öffnen die Heizung umstellen soll.)
Es können mehrere ObjektIDs für externe Sensoren pro Raum angegeben werden, in dem diese ohne Leerzeichen mit einem Komma getrennt werden (objektID1,objektID2). -
Die Möglichkeit ein Intervall einzustellen, wann oder in welchen abständen neue Daten abgefragt werden sollen, (z.B. kurze 30sek um in einer VIS mit aktuellen Anzeigen arbeiten zu können) oder (lange Zeiten wie z.B. 3600sek (1std) wenn die aktuellen Werte nicht sofort benötigt werden).
-
Die Möglichkeit eine haltezeit (in Minuten) für eine manuelle soll Temperatur anzugeben, diese muss vor dem einstellen einer Temperatur eingetragen werden und wird bei der nächsten Änderung der soll Temperatur mit übermittelt.
-
Außerdem ist es möglich eine maximale soll Temperatur für einen Raum festzulegen, sollte die soll Temperatur einmal über dieser liegen, so wird dieser Raum zum regulären Heizplan zurückkehren. (Wichtig oder hilfreich wenn z.B. Kinder am Regler spielen)
-
ein Button in jedem Raum, mit dem der jeweilige Raum zum Heizplan zurückkehrt. (Mit true ansteuern)
Ihr seht, eigentlich alles was man sich wünschen kann, habt ihr dennoch Ideen für weitere Funktionen, habt Probleme oder einfach eine Frage, immer raus damit!
Sollte ich hier neue Versionen einstellen, muss der alte Code im Blockly nur durch den neuen ersetzt werden, dazu das Skript stoppen dann im Blockly im leeren Bereich mit der Maus rechtsklicken und ganz unten xxxx Bausteine löschen auswählen, jetzt wie am Anfang den neuen Code einfügen (oben rechts Papier mit Pfeil rein).
Muss für gravierende Änderungen die Objektstruktur gelöscht werden, werde ich dies dazu schreiben, wenn ihr große Sprünge in der Version macht, sollte sicherheitshalber der Netatmo Ordner gelöscht werden oder schaut euch alle Versionen an, was hier hätte gelöscht werden sollen.
Nun das Blockly speichern und starten.WICHTIG! Die Versionsnummer gibt euch viele wichtige Infos, bei z.B. (v1.2.3) bedeutet die erste Ziffer (1) das dass Blockly auf der ersten stabilen Version basiert, diese Zahl wird nur geändert, sollte sich grundlegend etwas an dem Blockly und den Funktionen ändern (in diesen Fällen sollte auch die Objektstruktur gelöscht werden!),
Die zweite Ziffer (2) steht für ein zwischen Update mit kleinen Änderungen z.B. neue Funktionen, hier bedeutet eine gerade Zahl (2,4,6...), dass dies eine stabile Version ist, die in der Regel keine Probleme machen sollte, eine ungerade Zahl (1,3,5...), steht für eine Version an der noch gearbeitet wird aber gerne getestet werden kann, hier werden oft kleine Änderungen hinzugefügt, die noch Probleme bereiten könnten,
die dritte und letzte Zahl (3) steht für minimalste Anpassungen bzw. Fehlerbehebung (Fixes) der aktuellen Version.Am Anfang werden euch viele Logeinträge auffallen, diese sind natürlich um für euch selber zu kontrollieren ob alles ordnungsgemäß funktioniert, ebenso aber wichtig um euch bei Problemen helfen zu können.
Nachdem alles sauber läuft werden die Einträge weniger, es werden weiter weiterhin Einträge bei der Intervall Abfrage und bei einem Neustart eingetragen, sowie bei abgelaufenen tokens oder Warnungen wenn diese beim ersten Versuch fehlschlagen (z.B. durch abgelaufen token oder refreshToken), auch wenn sich der Fehler in der Regel selbst reguliert.Sollten euch diese Einträge nicht mehr interessieren oder sogar stören, könnt ihr das Objekt "Log_InfoOutput" auf "false" stellen, welches eben solche Einträge unterdrückt, nun werden nur noch gravierende Fehler in den log geschrieben.
Als Kleinen Tipp am Rande, solltet ihr den Wert von Status zur Kontrolle in einer VIS verwenden, ob das Blockly ordnungsgemäß arbeitet, könnt ihr euch zur Sicherheit ein separates Blockly anlegen, welches das Blockly Skript triggert, und wenn dieses nicht läuft (also auf false steht) den Wert des Objektes "Status" auf "false" aktualisiert.
So seid ihr auf der sicheren Seite, dass tatsächlich alles läuft und der Wert nicht auf "true" steht, sollte das Blockly nicht laufen. (Das Netatmo Blockly kann den Wert nicht mehr selber auf "false" stellen wenn es nicht läuft 😅)Aktualisierungen und neue Versionen werden immer hier im ersten Beitrag gepostet!
Error codes bei einem Fehler aus der API:
1 = unbekannter Fehler.
2 = interner Fehler (Netatmo).
3 = parser error (Verständnis Fehler).
5 = fehlerhafte Parameter.
6 = gerät nicht erreichbar.
7 = Kommando Fehler.
8 = Batterie Level.
14 = beschäftigt.
19 = Modul nicht erreichbar.
23 = nichts zum ändern.
27 = vorübergehend gesperrt.Bei den meisten Server Fehlern, ist die Beschreibung schon sehr aussagekräftig, so dass hier in der Regel schnell erkannt werden kann wo es hackt…
!!! Aktuell muss noch der Token einmal über die website angefordert und manuell in die Objekte eingetragen werden, hier arbeite ich weiterhin an einer lösung.
https://forum.iobroker.net/post/1056032Changelog und vorherige Versionen:
(Update 15.07.2024) Neue Version
STABLE v5.0.4 - !!EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v5.0.4.rarWenn die Version 5.0.0 - 5.0.2 installiert war, muss nichts gelöscht werden.
Ansonsten bitte einmal hier nachschauen:
Infos v5.0.0• Hier sollte das Problem mit den Token behoben sein.
Sagt wie immer gerne Bescheid, sollte euch etwas auffallen! 😊👍
(Update 01.12.2022) Neue Version
STABLE v3.2.4 - !!EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v3.2.4.rarWenn die Version 3.2.2 installiert war, muss nichts gelöscht werden.
Sonst bitte in den Changelog im ersten Beitrag schauen!• Kleine Korrektur bei der Funktion "exFenster_erkennung".
Hier konnte es vorgekommen, dass in Verbindung mit der "zurück zum Heizplan" Funktion, die Temperatur in einem Raum mit offenen Fenster, die Heizung nicht weiter runter geregelt und so trotz des offenen Fensters geheizt wurde.
Dies sollte nun ordnungsgemäß funktionieren.Sagt wie immer gerne Bescheid, sollte euch etwas auffallen! 😊👍
-
-
Moin Smart Home Freunde,
Da es mal kein Adapter für die Netatmo Thermostate gab, hab ich ein Blockly erstellt, welches die gleichen bzw. Sogar noch etwas mehr und einfachere Objekte, funktionen und möglichkeiten erzeugt und bietet wie ein handelsüblicher Adapter.
Warum ich nicht gleich ein Adapter erstellt habe, liegt daran, dass ich eigentlich keine Ahnung habe was ich hier mache, das Blockly ist garantiert auch nicht perfekt und nicht fehlerfrei aber bei mir sowie einigen fleißigen Testern, funktioniert es wunderbar, zumindest vorerst sind allerdings nur 10 (mittlerweile15) Thermostate steuerbar, wenn mehr benötigt werden, kurz bescheid geben...
Ich habe das Blockly so aufgebaut, dass es bei jedem funktionieren sollte, nach anfänglichen Schwierigkeiten, funktioniert dies auch wunderbar, es müssen lediglich ein paar Daten für die Anmeldung in Objekte eingetragen werden, wie es genauso bei einem Adapter nötig wäre.
!!ACHTUNG!!!
Bei einigen Nutzern haben Sonderzeichen gerade das "$" Zeichen in den Zugangsdaten Probleme gemacht!
Solltet ihr direkt von Anfang an Probleme haben, versucht bitte diese zu ändern.
Ich habe wenig Hoffnung aber werde versuchen dieses Problem zu beheben und werde es dann in der Version erwähnen.Um Das Blockly zu nutzen, müsst ihr nur die nachfolgende RAR Datei Downloaden, darin befindet sich lediglich eine einfache Textdatei, dessen Inhalt (Code) ihr kopieren müsst, dann erstellt ihr euch in ioBroker unter <> Skripte innerhalb des Common Ordners (kann auch im Ordner eines Ordners sein) ein neues Blockly welches ihr nennen könnt, wie es euch gefällt, zB. "Netatmo_Blockly", darin findet ihr oben rechts ein Symbol von einem Blatt Papier mit einem Pfeil rein, wenn ihr darauf klickt, könnt ihr den vorher Kopierten Code aus meiner Textdatei, einfügen und speichern.
Fertig soweit!Es kann beim öffnen der "TXT" Datei aus der "RAR" Datei (in dem der Code für das Blockly ist) mit einem separaten program oder Editor zu Problemen kommen, wenn dadurch Sonderzeichen ersetzt werden könnten, hier seid ihr mit dem Windows eigenen Editor auf der sicheren Seite, solltet ihr euch nicht sicher sein!
(Auch und vor allem „ä“ „ö“ „ü“ werden zum Teil durch eine Zeichenfolge ersetzt, mit der iobroker und das Blockly nichts anfangen können)Alle nötigen Objekte wurden nun bereits angelegt und die Zugangsdaten können eingetragen werden.
Die komplette Struktur befindet sich nach erstmaligem starten des Blocklys unter:
"0_userdata.0.Eigene_Objekte.Netatmo"
Dort müssen die Zugangsdaten in die entsprechenden Objekte eingetragen werden.
Die Zugangsdaten müssen zwingend als wert in die entsprechenden Objekte eingetragen werden, dies macht ihr indem ihr auf das Feld im Reiter „wert“ klickt, NICHT aber (auch wenn dies sehr verwirrend dargestellt ist) auf den Stift rechts daneben! Seid ihr euch nicht sicher wie dies funktioniert, fragt gerne nach 😊👍Die Home ID und Client Daten, bekommt ihr auf der Hompage:
https://dev.netatmo.com/apidocumentation/energy#homesdata
Dazu müsst ihr euch anmelden und einmal EXECUTE/HOMESDATA ausführen, im feld darunter steht dann die Home ID,
für die Client Daten müsst ihr im Profil eine App anlegen, die angaben spielen keine rolle, hauptsache ihr bekommt die leider nötigen Daten...
Hier müsst Ihr nun auch das erste mal die Token selbst generieren (Access_Token und Refresh_Token) und diese ebenfalls einmalig in die Objekte eintragen!
Ab diesem Moment arbeitet das Blockly eigenständig und erneuert diese Token automatisch.
Das Blockly sollte erkennen sobald alle zugangsdaten angegeben sind, womit dann direkt alle daten aus der API abgefragt werden.
Normalerweise klappt direkt alles und es werden alle nötigen Objekte geschrieben, wobei es beim ersten start zu warnungen im log kommen könnte, einige Werte von Objekten, werden schneller abgefragt als die Objekte angelegt sind.
Der automatische Intervall sollte nun auf 60sek stehen.Das Objekt "Status", sollte nun den Wert "true" angeben, dies bedeutet es läuft alles problemlos.
Ansonsten im Log nachsehen, welche Aktionen erfolgreich ausgeführt wurden und welche eben nicht, entweder reichen diese Information um es selbst erneut zu versuchen, oder ihr postet euer Problem hier mit Angaben der Log Daten!
Keine Angst, ich helfe sehr gerne!Wenn alles geklappt hat (wovon ich stark ausgehe), werden jetzt einige nützliche informationen zur verfügung gestellt:
-
Alle Räume und deren Thermostate sowie der Bridge,
-
Die aktuelle Temperatur und die zu erreichende soll Temperatur,
-
Ob das Thermometer ein offenes Fenster erkennt,
-
Sowie die zuvor in der App erstellten und somit möglichen Heizpläne und natürlich den aktiven Heizplan,
-
Der Status der Batterien (Batterie Level und Status wie z.B. "High", "Full" und "Low"),
-
Die aktuelle Heizleistung der Thermostate (wie weit diese geöffnet sind),
-
Erreichbarkeit der Thermostate und Geräte, sowie deren Wifi und RF Qualität,
-
Einige ID‘s und JSON Objekte bzw. ARRAY‘s mit denen die meisten nichts anfangen können aber auch nicht müssen, die wichtigsten Daten habe ich ja bereits separiert. (Sollten weitere Datenpunkte und Informationen gewünscht sein, Gebt gerne Bescheid)
Eigentlich alles was die Thermostate, Geräte und oder die API zur Verfügung stellen, Strenggenommen sogar etwas mehr, denn:
- die durchschnittliche Temperatur des Hauses oder der Wohnung,
- ein Objekt in "Home" welches angibt ob irgendwo geheizt wird,
- die zusammengefasste Anzeige in der Übersicht, ob irgendwelche Batterien Probleme machen (false/true),
- die Möglichkeit hier eine soll_Temperatur für das komplette Haus/Wohnung eingeben zu können,
- die Batterie Kapazität in % (nur eine Schätzung, da werte der API leider sehr ungenau und teilweise von voll auf leer springen 🤷♂️)
- sowie viele Kleinigkeiten
und das automatische abfragen und senden aller Daten ist so in der Form eigentlich nicht vorgesehen.
Einige Einstellungsmöglichkeiten und Funktionen stehen nun auch zur Verfügung:
-
einstellen einer Soll_Temperatur für jeden Raum + oder allen Raümen gleichzeitig,
-
ändern des Heizplanes (WICHTIG genauen Name in das Objekt "Modus" eintragen, auch Großbuchstaben beachten!),
-
aktivieren der (nicht zuhause) der (Frostschutz) Funktion und das zurückkehren zu den aktiven Heizplan, dazu die Objekte mit true ansteuern oder ObjektID‘s in die Objekte eintragen, die auf true/false wechseln (z.B. aus dem AVM Adapter), wobei false dann immer zu denn Heizplan wechseln würde bzw. zwei mögliche ID‘s für die Anwesenheit zur Verfügung stehen, die sich gegenseitig abfragen (beide „false“ oder eben einer „true“), wird in dem zweiten Objekt nichts eingetragen, wird dieses ignoriert, bei „false“ kann hier ausgewählt werden ob die "AWAY" oder die „FROST“ Funktion aktiviert werden soll (entweder "AWAY" oder "FROST" (Großbuchstaben) eintragen), die jeweiligen in der App eingestellten Temperaturen werden hier ebenfalls angezeigt.
-
Die Möglichkeit eine ID eines externen Sensors für Fenster und Türen einzubinden oder ein Objekt mit „true/false“ anzusteuern (dieses gibt in beiden Fällen (auch bei Nutzung der ObjektID) den aktuellen Zustand wieder), und danach die Temperaturen der Räume zu regeln (hier kann für jeden Raum eine gewünschte Temperatur eingetragen werden oder bei „0“ wird die Frostwächter Temperatur gewählt, die bis zum schließen des „Fensters“ gehalten wird, sobald das "Fenster" geschlossen wurde, wird zur Temperatur des regulären Heizplanes zurückgekehrt.
(Sollte die Funktion genutzt werden, ist es nicht möglich die Temperatur in dem Raum zu ändern während das „Fenster“ geöffnet ist, möchte die Temperatur dennoch geändert werden, muss das Objekt "Fenster_Offen" auf „false“ gestellt werden, beim nächsten öffnen stellt dieses dann wieder auf „true“.)
Eine Verzögerung ab wann die Sensoren tatsächlich die Heizung steuern sollen, entweder global oder für jeden Raum in Sekunden (z.B. für eine Terrassentür interessant, wenn nicht jedes kurze öffnen die Heizung umstellen soll.)
Es können mehrere ObjektIDs für externe Sensoren pro Raum angegeben werden, in dem diese ohne Leerzeichen mit einem Komma getrennt werden (objektID1,objektID2). -
Die Möglichkeit ein Intervall einzustellen, wann oder in welchen abständen neue Daten abgefragt werden sollen, (z.B. kurze 30sek um in einer VIS mit aktuellen Anzeigen arbeiten zu können) oder (lange Zeiten wie z.B. 3600sek (1std) wenn die aktuellen Werte nicht sofort benötigt werden).
-
Die Möglichkeit eine haltezeit (in Minuten) für eine manuelle soll Temperatur anzugeben, diese muss vor dem einstellen einer Temperatur eingetragen werden und wird bei der nächsten Änderung der soll Temperatur mit übermittelt.
-
Außerdem ist es möglich eine maximale soll Temperatur für einen Raum festzulegen, sollte die soll Temperatur einmal über dieser liegen, so wird dieser Raum zum regulären Heizplan zurückkehren. (Wichtig oder hilfreich wenn z.B. Kinder am Regler spielen)
-
ein Button in jedem Raum, mit dem der jeweilige Raum zum Heizplan zurückkehrt. (Mit true ansteuern)
Ihr seht, eigentlich alles was man sich wünschen kann, habt ihr dennoch Ideen für weitere Funktionen, habt Probleme oder einfach eine Frage, immer raus damit!
Sollte ich hier neue Versionen einstellen, muss der alte Code im Blockly nur durch den neuen ersetzt werden, dazu das Skript stoppen dann im Blockly im leeren Bereich mit der Maus rechtsklicken und ganz unten xxxx Bausteine löschen auswählen, jetzt wie am Anfang den neuen Code einfügen (oben rechts Papier mit Pfeil rein).
Muss für gravierende Änderungen die Objektstruktur gelöscht werden, werde ich dies dazu schreiben, wenn ihr große Sprünge in der Version macht, sollte sicherheitshalber der Netatmo Ordner gelöscht werden oder schaut euch alle Versionen an, was hier hätte gelöscht werden sollen.
Nun das Blockly speichern und starten.WICHTIG! Die Versionsnummer gibt euch viele wichtige Infos, bei z.B. (v1.2.3) bedeutet die erste Ziffer (1) das dass Blockly auf der ersten stabilen Version basiert, diese Zahl wird nur geändert, sollte sich grundlegend etwas an dem Blockly und den Funktionen ändern (in diesen Fällen sollte auch die Objektstruktur gelöscht werden!),
Die zweite Ziffer (2) steht für ein zwischen Update mit kleinen Änderungen z.B. neue Funktionen, hier bedeutet eine gerade Zahl (2,4,6...), dass dies eine stabile Version ist, die in der Regel keine Probleme machen sollte, eine ungerade Zahl (1,3,5...), steht für eine Version an der noch gearbeitet wird aber gerne getestet werden kann, hier werden oft kleine Änderungen hinzugefügt, die noch Probleme bereiten könnten,
die dritte und letzte Zahl (3) steht für minimalste Anpassungen bzw. Fehlerbehebung (Fixes) der aktuellen Version.Am Anfang werden euch viele Logeinträge auffallen, diese sind natürlich um für euch selber zu kontrollieren ob alles ordnungsgemäß funktioniert, ebenso aber wichtig um euch bei Problemen helfen zu können.
Nachdem alles sauber läuft werden die Einträge weniger, es werden weiter weiterhin Einträge bei der Intervall Abfrage und bei einem Neustart eingetragen, sowie bei abgelaufenen tokens oder Warnungen wenn diese beim ersten Versuch fehlschlagen (z.B. durch abgelaufen token oder refreshToken), auch wenn sich der Fehler in der Regel selbst reguliert.Sollten euch diese Einträge nicht mehr interessieren oder sogar stören, könnt ihr das Objekt "Log_InfoOutput" auf "false" stellen, welches eben solche Einträge unterdrückt, nun werden nur noch gravierende Fehler in den log geschrieben.
Als Kleinen Tipp am Rande, solltet ihr den Wert von Status zur Kontrolle in einer VIS verwenden, ob das Blockly ordnungsgemäß arbeitet, könnt ihr euch zur Sicherheit ein separates Blockly anlegen, welches das Blockly Skript triggert, und wenn dieses nicht läuft (also auf false steht) den Wert des Objektes "Status" auf "false" aktualisiert.
So seid ihr auf der sicheren Seite, dass tatsächlich alles läuft und der Wert nicht auf "true" steht, sollte das Blockly nicht laufen. (Das Netatmo Blockly kann den Wert nicht mehr selber auf "false" stellen wenn es nicht läuft 😅)Aktualisierungen und neue Versionen werden immer hier im ersten Beitrag gepostet!
Error codes bei einem Fehler aus der API:
1 = unbekannter Fehler.
2 = interner Fehler (Netatmo).
3 = parser error (Verständnis Fehler).
5 = fehlerhafte Parameter.
6 = gerät nicht erreichbar.
7 = Kommando Fehler.
8 = Batterie Level.
14 = beschäftigt.
19 = Modul nicht erreichbar.
23 = nichts zum ändern.
27 = vorübergehend gesperrt.Bei den meisten Server Fehlern, ist die Beschreibung schon sehr aussagekräftig, so dass hier in der Regel schnell erkannt werden kann wo es hackt…
!!! Aktuell muss noch der Token einmal über die website angefordert und manuell in die Objekte eingetragen werden, hier arbeite ich weiterhin an einer lösung.
https://forum.iobroker.net/post/1056032Changelog und vorherige Versionen:
(Update 15.07.2024) Neue Version
STABLE v5.0.4 - !!EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v5.0.4.rarWenn die Version 5.0.0 - 5.0.2 installiert war, muss nichts gelöscht werden.
Ansonsten bitte einmal hier nachschauen:
Infos v5.0.0• Hier sollte das Problem mit den Token behoben sein.
Sagt wie immer gerne Bescheid, sollte euch etwas auffallen! 😊👍
@newpicsel hi,
habe ein Problem aber eventuell sehe ich es auch nicht wenn ich die Soll Temp. ändere auf 21 Grad schaltet er nicht um weder in Iobroker noch bei Netatmo. Wie mache ich das um die Temp über Iobroker höher zu setzen?? -
-
@newpicsel hi,
habe ein Problem aber eventuell sehe ich es auch nicht wenn ich die Soll Temp. ändere auf 21 Grad schaltet er nicht um weder in Iobroker noch bei Netatmo. Wie mache ich das um die Temp über Iobroker höher zu setzen??Moin @helfi9999
🤔 steuerst du unbestätigt oder? Bestätigte Änderungen (Aktualisierungen) werden nicht übermittelt!
Ansonsten sollte es reichen einfach die Zahl zu erhöhen, steht etwas im log? Starte sonst mal das Blockly neu 🤷♂️ ich kanns mir ansonsten nicht erklären…
Daten werden sonst alle korrekt aktualisiert? Status steht auf true?
-
Moin @helfi9999
🤔 steuerst du unbestätigt oder? Bestätigte Änderungen (Aktualisierungen) werden nicht übermittelt!
Ansonsten sollte es reichen einfach die Zahl zu erhöhen, steht etwas im log? Starte sonst mal das Blockly neu 🤷♂️ ich kanns mir ansonsten nicht erklären…
Daten werden sonst alle korrekt aktualisiert? Status steht auf true?
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Moin @helfi9999
🤔 steuerst du unbestätigt oder? Bestätigte Änderungen (Aktualisierungen) werden nicht übermittelt!
Ansonsten sollte es reichen einfach die Zahl zu erhöhen, steht etwas im log? Starte sonst mal das Blockly neu 🤷♂️ ich kanns mir ansonsten nicht erklären…
Daten werden sonst alle korrekt aktualisiert? Status steht auf true?
Hi,
habe es eben nochmal probiert und es hat geklappt.
Scheint irgendwo der Wurm drinnen gewesen zu sein.Gruss Helfi
und danke für die schnelle Meldung.
-
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Moin @helfi9999
🤔 steuerst du unbestätigt oder? Bestätigte Änderungen (Aktualisierungen) werden nicht übermittelt!
Ansonsten sollte es reichen einfach die Zahl zu erhöhen, steht etwas im log? Starte sonst mal das Blockly neu 🤷♂️ ich kanns mir ansonsten nicht erklären…
Daten werden sonst alle korrekt aktualisiert? Status steht auf true?
Hi,
habe es eben nochmal probiert und es hat geklappt.
Scheint irgendwo der Wurm drinnen gewesen zu sein.Gruss Helfi
und danke für die schnelle Meldung.
Moin @helfi9999
Freut mich!
Wenn du weiterhin solche Probleme hast, lösch mal das Blockly und dann den kompletten Netatmo Ordner und starte neu mit nem neuen Blockly, scheint vielleicht irgendwas grundsätzlich zu hängen bei dir, sollte es dann weiterhin so sein, versuche erneut die letzte Version 2.x.x vielleicht hängt die v3.x.x einfach irgendwie bei dir, dann schaue ich nochmal nach… -
Moin @helfi9999
Freut mich!
Wenn du weiterhin solche Probleme hast, lösch mal das Blockly und dann den kompletten Netatmo Ordner und starte neu mit nem neuen Blockly, scheint vielleicht irgendwas grundsätzlich zu hängen bei dir, sollte es dann weiterhin so sein, versuche erneut die letzte Version 2.x.x vielleicht hängt die v3.x.x einfach irgendwie bei dir, dann schaue ich nochmal nach…@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Moin @helfi9999
Freut mich!
Wenn du weiterhin solche Probleme hast, lösch mal das Blockly und dann den kompletten Netatmo Ordner und starte neu mit nem neuen Blockly, scheint vielleicht irgendwas grundsätzlich zu hängen bei dir, sollte es dann weiterhin so sein, versuche erneut die letzte Version 2.x.x vielleicht hängt die v3.x.x einfach irgendwie bei dir, dann schaue ich nochmal nach…ok werde ich machen falls es nochmal vorkommt.
-
Moin Smart Home Freunde,
Da es mal kein Adapter für die Netatmo Thermostate gab, hab ich ein Blockly erstellt, welches die gleichen bzw. Sogar noch etwas mehr und einfachere Objekte, funktionen und möglichkeiten erzeugt und bietet wie ein handelsüblicher Adapter.
Warum ich nicht gleich ein Adapter erstellt habe, liegt daran, dass ich eigentlich keine Ahnung habe was ich hier mache, das Blockly ist garantiert auch nicht perfekt und nicht fehlerfrei aber bei mir sowie einigen fleißigen Testern, funktioniert es wunderbar, zumindest vorerst sind allerdings nur 10 (mittlerweile15) Thermostate steuerbar, wenn mehr benötigt werden, kurz bescheid geben...
Ich habe das Blockly so aufgebaut, dass es bei jedem funktionieren sollte, nach anfänglichen Schwierigkeiten, funktioniert dies auch wunderbar, es müssen lediglich ein paar Daten für die Anmeldung in Objekte eingetragen werden, wie es genauso bei einem Adapter nötig wäre.
!!ACHTUNG!!!
Bei einigen Nutzern haben Sonderzeichen gerade das "$" Zeichen in den Zugangsdaten Probleme gemacht!
Solltet ihr direkt von Anfang an Probleme haben, versucht bitte diese zu ändern.
Ich habe wenig Hoffnung aber werde versuchen dieses Problem zu beheben und werde es dann in der Version erwähnen.Um Das Blockly zu nutzen, müsst ihr nur die nachfolgende RAR Datei Downloaden, darin befindet sich lediglich eine einfache Textdatei, dessen Inhalt (Code) ihr kopieren müsst, dann erstellt ihr euch in ioBroker unter <> Skripte innerhalb des Common Ordners (kann auch im Ordner eines Ordners sein) ein neues Blockly welches ihr nennen könnt, wie es euch gefällt, zB. "Netatmo_Blockly", darin findet ihr oben rechts ein Symbol von einem Blatt Papier mit einem Pfeil rein, wenn ihr darauf klickt, könnt ihr den vorher Kopierten Code aus meiner Textdatei, einfügen und speichern.
Fertig soweit!Es kann beim öffnen der "TXT" Datei aus der "RAR" Datei (in dem der Code für das Blockly ist) mit einem separaten program oder Editor zu Problemen kommen, wenn dadurch Sonderzeichen ersetzt werden könnten, hier seid ihr mit dem Windows eigenen Editor auf der sicheren Seite, solltet ihr euch nicht sicher sein!
(Auch und vor allem „ä“ „ö“ „ü“ werden zum Teil durch eine Zeichenfolge ersetzt, mit der iobroker und das Blockly nichts anfangen können)Alle nötigen Objekte wurden nun bereits angelegt und die Zugangsdaten können eingetragen werden.
Die komplette Struktur befindet sich nach erstmaligem starten des Blocklys unter:
"0_userdata.0.Eigene_Objekte.Netatmo"
Dort müssen die Zugangsdaten in die entsprechenden Objekte eingetragen werden.
Die Zugangsdaten müssen zwingend als wert in die entsprechenden Objekte eingetragen werden, dies macht ihr indem ihr auf das Feld im Reiter „wert“ klickt, NICHT aber (auch wenn dies sehr verwirrend dargestellt ist) auf den Stift rechts daneben! Seid ihr euch nicht sicher wie dies funktioniert, fragt gerne nach 😊👍Die Home ID und Client Daten, bekommt ihr auf der Hompage:
https://dev.netatmo.com/apidocumentation/energy#homesdata
Dazu müsst ihr euch anmelden und einmal EXECUTE/HOMESDATA ausführen, im feld darunter steht dann die Home ID,
für die Client Daten müsst ihr im Profil eine App anlegen, die angaben spielen keine rolle, hauptsache ihr bekommt die leider nötigen Daten...
Hier müsst Ihr nun auch das erste mal die Token selbst generieren (Access_Token und Refresh_Token) und diese ebenfalls einmalig in die Objekte eintragen!
Ab diesem Moment arbeitet das Blockly eigenständig und erneuert diese Token automatisch.
Das Blockly sollte erkennen sobald alle zugangsdaten angegeben sind, womit dann direkt alle daten aus der API abgefragt werden.
Normalerweise klappt direkt alles und es werden alle nötigen Objekte geschrieben, wobei es beim ersten start zu warnungen im log kommen könnte, einige Werte von Objekten, werden schneller abgefragt als die Objekte angelegt sind.
Der automatische Intervall sollte nun auf 60sek stehen.Das Objekt "Status", sollte nun den Wert "true" angeben, dies bedeutet es läuft alles problemlos.
Ansonsten im Log nachsehen, welche Aktionen erfolgreich ausgeführt wurden und welche eben nicht, entweder reichen diese Information um es selbst erneut zu versuchen, oder ihr postet euer Problem hier mit Angaben der Log Daten!
Keine Angst, ich helfe sehr gerne!Wenn alles geklappt hat (wovon ich stark ausgehe), werden jetzt einige nützliche informationen zur verfügung gestellt:
-
Alle Räume und deren Thermostate sowie der Bridge,
-
Die aktuelle Temperatur und die zu erreichende soll Temperatur,
-
Ob das Thermometer ein offenes Fenster erkennt,
-
Sowie die zuvor in der App erstellten und somit möglichen Heizpläne und natürlich den aktiven Heizplan,
-
Der Status der Batterien (Batterie Level und Status wie z.B. "High", "Full" und "Low"),
-
Die aktuelle Heizleistung der Thermostate (wie weit diese geöffnet sind),
-
Erreichbarkeit der Thermostate und Geräte, sowie deren Wifi und RF Qualität,
-
Einige ID‘s und JSON Objekte bzw. ARRAY‘s mit denen die meisten nichts anfangen können aber auch nicht müssen, die wichtigsten Daten habe ich ja bereits separiert. (Sollten weitere Datenpunkte und Informationen gewünscht sein, Gebt gerne Bescheid)
Eigentlich alles was die Thermostate, Geräte und oder die API zur Verfügung stellen, Strenggenommen sogar etwas mehr, denn:
- die durchschnittliche Temperatur des Hauses oder der Wohnung,
- ein Objekt in "Home" welches angibt ob irgendwo geheizt wird,
- die zusammengefasste Anzeige in der Übersicht, ob irgendwelche Batterien Probleme machen (false/true),
- die Möglichkeit hier eine soll_Temperatur für das komplette Haus/Wohnung eingeben zu können,
- die Batterie Kapazität in % (nur eine Schätzung, da werte der API leider sehr ungenau und teilweise von voll auf leer springen 🤷♂️)
- sowie viele Kleinigkeiten
und das automatische abfragen und senden aller Daten ist so in der Form eigentlich nicht vorgesehen.
Einige Einstellungsmöglichkeiten und Funktionen stehen nun auch zur Verfügung:
-
einstellen einer Soll_Temperatur für jeden Raum + oder allen Raümen gleichzeitig,
-
ändern des Heizplanes (WICHTIG genauen Name in das Objekt "Modus" eintragen, auch Großbuchstaben beachten!),
-
aktivieren der (nicht zuhause) der (Frostschutz) Funktion und das zurückkehren zu den aktiven Heizplan, dazu die Objekte mit true ansteuern oder ObjektID‘s in die Objekte eintragen, die auf true/false wechseln (z.B. aus dem AVM Adapter), wobei false dann immer zu denn Heizplan wechseln würde bzw. zwei mögliche ID‘s für die Anwesenheit zur Verfügung stehen, die sich gegenseitig abfragen (beide „false“ oder eben einer „true“), wird in dem zweiten Objekt nichts eingetragen, wird dieses ignoriert, bei „false“ kann hier ausgewählt werden ob die "AWAY" oder die „FROST“ Funktion aktiviert werden soll (entweder "AWAY" oder "FROST" (Großbuchstaben) eintragen), die jeweiligen in der App eingestellten Temperaturen werden hier ebenfalls angezeigt.
-
Die Möglichkeit eine ID eines externen Sensors für Fenster und Türen einzubinden oder ein Objekt mit „true/false“ anzusteuern (dieses gibt in beiden Fällen (auch bei Nutzung der ObjektID) den aktuellen Zustand wieder), und danach die Temperaturen der Räume zu regeln (hier kann für jeden Raum eine gewünschte Temperatur eingetragen werden oder bei „0“ wird die Frostwächter Temperatur gewählt, die bis zum schließen des „Fensters“ gehalten wird, sobald das "Fenster" geschlossen wurde, wird zur Temperatur des regulären Heizplanes zurückgekehrt.
(Sollte die Funktion genutzt werden, ist es nicht möglich die Temperatur in dem Raum zu ändern während das „Fenster“ geöffnet ist, möchte die Temperatur dennoch geändert werden, muss das Objekt "Fenster_Offen" auf „false“ gestellt werden, beim nächsten öffnen stellt dieses dann wieder auf „true“.)
Eine Verzögerung ab wann die Sensoren tatsächlich die Heizung steuern sollen, entweder global oder für jeden Raum in Sekunden (z.B. für eine Terrassentür interessant, wenn nicht jedes kurze öffnen die Heizung umstellen soll.)
Es können mehrere ObjektIDs für externe Sensoren pro Raum angegeben werden, in dem diese ohne Leerzeichen mit einem Komma getrennt werden (objektID1,objektID2). -
Die Möglichkeit ein Intervall einzustellen, wann oder in welchen abständen neue Daten abgefragt werden sollen, (z.B. kurze 30sek um in einer VIS mit aktuellen Anzeigen arbeiten zu können) oder (lange Zeiten wie z.B. 3600sek (1std) wenn die aktuellen Werte nicht sofort benötigt werden).
-
Die Möglichkeit eine haltezeit (in Minuten) für eine manuelle soll Temperatur anzugeben, diese muss vor dem einstellen einer Temperatur eingetragen werden und wird bei der nächsten Änderung der soll Temperatur mit übermittelt.
-
Außerdem ist es möglich eine maximale soll Temperatur für einen Raum festzulegen, sollte die soll Temperatur einmal über dieser liegen, so wird dieser Raum zum regulären Heizplan zurückkehren. (Wichtig oder hilfreich wenn z.B. Kinder am Regler spielen)
-
ein Button in jedem Raum, mit dem der jeweilige Raum zum Heizplan zurückkehrt. (Mit true ansteuern)
Ihr seht, eigentlich alles was man sich wünschen kann, habt ihr dennoch Ideen für weitere Funktionen, habt Probleme oder einfach eine Frage, immer raus damit!
Sollte ich hier neue Versionen einstellen, muss der alte Code im Blockly nur durch den neuen ersetzt werden, dazu das Skript stoppen dann im Blockly im leeren Bereich mit der Maus rechtsklicken und ganz unten xxxx Bausteine löschen auswählen, jetzt wie am Anfang den neuen Code einfügen (oben rechts Papier mit Pfeil rein).
Muss für gravierende Änderungen die Objektstruktur gelöscht werden, werde ich dies dazu schreiben, wenn ihr große Sprünge in der Version macht, sollte sicherheitshalber der Netatmo Ordner gelöscht werden oder schaut euch alle Versionen an, was hier hätte gelöscht werden sollen.
Nun das Blockly speichern und starten.WICHTIG! Die Versionsnummer gibt euch viele wichtige Infos, bei z.B. (v1.2.3) bedeutet die erste Ziffer (1) das dass Blockly auf der ersten stabilen Version basiert, diese Zahl wird nur geändert, sollte sich grundlegend etwas an dem Blockly und den Funktionen ändern (in diesen Fällen sollte auch die Objektstruktur gelöscht werden!),
Die zweite Ziffer (2) steht für ein zwischen Update mit kleinen Änderungen z.B. neue Funktionen, hier bedeutet eine gerade Zahl (2,4,6...), dass dies eine stabile Version ist, die in der Regel keine Probleme machen sollte, eine ungerade Zahl (1,3,5...), steht für eine Version an der noch gearbeitet wird aber gerne getestet werden kann, hier werden oft kleine Änderungen hinzugefügt, die noch Probleme bereiten könnten,
die dritte und letzte Zahl (3) steht für minimalste Anpassungen bzw. Fehlerbehebung (Fixes) der aktuellen Version.Am Anfang werden euch viele Logeinträge auffallen, diese sind natürlich um für euch selber zu kontrollieren ob alles ordnungsgemäß funktioniert, ebenso aber wichtig um euch bei Problemen helfen zu können.
Nachdem alles sauber läuft werden die Einträge weniger, es werden weiter weiterhin Einträge bei der Intervall Abfrage und bei einem Neustart eingetragen, sowie bei abgelaufenen tokens oder Warnungen wenn diese beim ersten Versuch fehlschlagen (z.B. durch abgelaufen token oder refreshToken), auch wenn sich der Fehler in der Regel selbst reguliert.Sollten euch diese Einträge nicht mehr interessieren oder sogar stören, könnt ihr das Objekt "Log_InfoOutput" auf "false" stellen, welches eben solche Einträge unterdrückt, nun werden nur noch gravierende Fehler in den log geschrieben.
Als Kleinen Tipp am Rande, solltet ihr den Wert von Status zur Kontrolle in einer VIS verwenden, ob das Blockly ordnungsgemäß arbeitet, könnt ihr euch zur Sicherheit ein separates Blockly anlegen, welches das Blockly Skript triggert, und wenn dieses nicht läuft (also auf false steht) den Wert des Objektes "Status" auf "false" aktualisiert.
So seid ihr auf der sicheren Seite, dass tatsächlich alles läuft und der Wert nicht auf "true" steht, sollte das Blockly nicht laufen. (Das Netatmo Blockly kann den Wert nicht mehr selber auf "false" stellen wenn es nicht läuft 😅)Aktualisierungen und neue Versionen werden immer hier im ersten Beitrag gepostet!
Error codes bei einem Fehler aus der API:
1 = unbekannter Fehler.
2 = interner Fehler (Netatmo).
3 = parser error (Verständnis Fehler).
5 = fehlerhafte Parameter.
6 = gerät nicht erreichbar.
7 = Kommando Fehler.
8 = Batterie Level.
14 = beschäftigt.
19 = Modul nicht erreichbar.
23 = nichts zum ändern.
27 = vorübergehend gesperrt.Bei den meisten Server Fehlern, ist die Beschreibung schon sehr aussagekräftig, so dass hier in der Regel schnell erkannt werden kann wo es hackt…
!!! Aktuell muss noch der Token einmal über die website angefordert und manuell in die Objekte eingetragen werden, hier arbeite ich weiterhin an einer lösung.
https://forum.iobroker.net/post/1056032Changelog und vorherige Versionen:
(Update 15.07.2024) Neue Version
STABLE v5.0.4 - !!EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v5.0.4.rarWenn die Version 5.0.0 - 5.0.2 installiert war, muss nichts gelöscht werden.
Ansonsten bitte einmal hier nachschauen:
Infos v5.0.0• Hier sollte das Problem mit den Token behoben sein.
Sagt wie immer gerne Bescheid, sollte euch etwas auffallen! 😊👍
Hallo @newpicsel
ich versuche seit ein paar tagen dein Blockly v3.2.4 zum Laufen zu bekommen. Doch trotz korrekter Anmeldedaten bekomme ich keine Daten.
Ich habe den Baum schon mehrfach komplett gelöscht und das Skript neu gestartet, in Javascript habe ich "Kommando "Exec"" aktiviert (und auch die anderen Optionen), habe bei Netatmo eine neu App angelegt, wobei die ersten Daten mit dem Netatmo Adapter funktionieren. Dennoch erhalte ich immer die Meldung:
Es gibt ein problem mit dem Netatmo Token! Result: {"error":"invalid_grant"}!!!ACHTUNG!!! Bitte Überprüfe alle Zugangsdaten und starte das Blockly erneut, sollte das Problem weiter bestehen, bitte bei Newpicsel melden!Da ich was das Programmieren angeht ein totaler Anfänger bin und mich erst seit dem Wochenende mit dem Raspberry und iobroker beschäftige habe ich keine Ahnung woran es liegen könnte, hast du vielleicht eine Idee? Über ein wenig Hilfe wäre ich sehr dankbar!
Beste Grüße
-
-
Hallo @newpicsel
ich versuche seit ein paar tagen dein Blockly v3.2.4 zum Laufen zu bekommen. Doch trotz korrekter Anmeldedaten bekomme ich keine Daten.
Ich habe den Baum schon mehrfach komplett gelöscht und das Skript neu gestartet, in Javascript habe ich "Kommando "Exec"" aktiviert (und auch die anderen Optionen), habe bei Netatmo eine neu App angelegt, wobei die ersten Daten mit dem Netatmo Adapter funktionieren. Dennoch erhalte ich immer die Meldung:
Es gibt ein problem mit dem Netatmo Token! Result: {"error":"invalid_grant"}!!!ACHTUNG!!! Bitte Überprüfe alle Zugangsdaten und starte das Blockly erneut, sollte das Problem weiter bestehen, bitte bei Newpicsel melden!Da ich was das Programmieren angeht ein totaler Anfänger bin und mich erst seit dem Wochenende mit dem Raspberry und iobroker beschäftige habe ich keine Ahnung woran es liegen könnte, hast du vielleicht eine Idee? Über ein wenig Hilfe wäre ich sehr dankbar!
Beste Grüße
Moin @first_smart_steps
"Invalid grant" kommt direkt von Netatmo und bedeutet, dass irgendwas mit den Zugangsdaten nicht stimmt 🙈
Schau mal ob sich ein Leerzeichen am Anfang oder am Ende irgendwo eingeschlichen hat, wenn tatsächlich kein Fehler zu finden ist, probiere mal alle Zugangsdaten zu leeren.
Wird hier automatisch wieder Text eingefügt, Z.B. hier Passwort eintragen?
Wenn nicht, lösch die Objekte mal und teste es erneut.Steht im log ein Eintrag mit deinen Zugangsdaten?
Kontrolliere diese hier nochmal, wenn hier alles stimmt, wird alles richtig übermittelt und von Seiten Netatmo muss tatsächlich irgendwas mit den Zugangsdaten nicht stimmen 😖 -
Moin @first_smart_steps
"Invalid grant" kommt direkt von Netatmo und bedeutet, dass irgendwas mit den Zugangsdaten nicht stimmt 🙈
Schau mal ob sich ein Leerzeichen am Anfang oder am Ende irgendwo eingeschlichen hat, wenn tatsächlich kein Fehler zu finden ist, probiere mal alle Zugangsdaten zu leeren.
Wird hier automatisch wieder Text eingefügt, Z.B. hier Passwort eintragen?
Wenn nicht, lösch die Objekte mal und teste es erneut.Steht im log ein Eintrag mit deinen Zugangsdaten?
Kontrolliere diese hier nochmal, wenn hier alles stimmt, wird alles richtig übermittelt und von Seiten Netatmo muss tatsächlich irgendwas mit den Zugangsdaten nicht stimmen 😖 -
Moin @thomas-braun
Hatte ich bislang nicht gesehen, erklärt aber ein paar Dinge die mir in den letzten Tagen aufgefallen sind.
Danke dafür! 👍
-
Moin @first_smart_steps
"Invalid grant" kommt direkt von Netatmo und bedeutet, dass irgendwas mit den Zugangsdaten nicht stimmt 🙈
Schau mal ob sich ein Leerzeichen am Anfang oder am Ende irgendwo eingeschlichen hat, wenn tatsächlich kein Fehler zu finden ist, probiere mal alle Zugangsdaten zu leeren.
Wird hier automatisch wieder Text eingefügt, Z.B. hier Passwort eintragen?
Wenn nicht, lösch die Objekte mal und teste es erneut.Steht im log ein Eintrag mit deinen Zugangsdaten?
Kontrolliere diese hier nochmal, wenn hier alles stimmt, wird alles richtig übermittelt und von Seiten Netatmo muss tatsächlich irgendwas mit den Zugangsdaten nicht stimmen 😖hi @newpicsel ,
habe die Daten erneut gecheckt, aber alles korrekt (per copy&paste reinkopiert).
Wenn ich das Passwort rauslösche wird wieder die "Vorlage" eingetragen, die Zugangsdaten werden auch im Log angezeigt.
Just in time habe ich den Fehler gefunden! im Passwort war ein $, Passwort geändert, ohne Dollar-Zeichen und nun läuft alles durch! Wirklich ein cooles Skript!
vielen Dank für die Rückmeldung und das Skript an sich!
Beste Grüße!


