NEWS
Stabiles Netatmo Thermostat Blockly (Adapter)
-
@kpmc
Versuch mal die 1.2.1. -
@helfi9999 sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
@newpicsel das einzige Problem was ich habe ist das folgende Meldung immer kommt:
Habe ich vereinzelt oder öfters auch. Ist das überhaupt ein Problem?
-
Moin
Ein Problem ist dieser Fehler tatsächlich nicht, aber dennoch unschön, nehme ich mir die Tage vor und den Fehler beseitigen
Ich werde diesen dann auch bei den älteren Versionen aktualisieren! -
Tatsächlich muss bei dem javascript Adapter etwas eingestellt sein, kontrolliere mal in dem Einstellungen ob ein hacken bei: Kommando "setObjekt", "exec" und "sendToHost" erlauben gesetzt ist.
In dem Objekt "Token_Request" sollte der übermittelte Access Token, der refresh Token, die verwendeten scopes und wann die Token verfallen eingetragen sein, hier stimmt also bereits etwas nicht, weil im Falle eines Fehlers hier der Grund und Fehler selbst eingetragen sein sollte.
Kannst du mir denn kompletten Inhalt dieses Objektes schicken? Vertrauliche Informationen kannst du natürlich durch ein X ersetzen!
Sollte hier nur {"ack":true} eingetragen sein, ist dies definitiv nicht korrekt, hier sollte zumindest eine Rückmeldung mit dem Fehler stehen, sollte die Übermittlung an sich funktionieren, so ist natürlich der Fehler {invalid access token} klar, weil kein Token übermittelt wurde!Gibt es zusätzlich Fehlermeldungen im log?
Für mich scheint es tatsächlich so, dass die Anfrage an sich gar nicht stattfindet, oder nicht verarbeitet werden kann, was entweder an iobroker oder der api bzw. deinem Konto dort liegen könnte…Müssen wir jetzt nach und nach die möglichen Ursachen ausschließen, aber sollten wir hinbekommen!
-
@kpmc said in Stabiles Netatmo Thermostat Blockly (Adapter):
@newpicsel
Wenn ich auf der Netatmo seite den Curl Befehl in der Konsole eingebe bekomme ich die Werte zurück
(curl -X GET "https://api.netatmo.com/api/homesdata" -H "accept: application/json" -H "Authorization: Bearer ......)
Hier stehen dann bei dir aber die Token?
Dann liegt es nicht an der api oder deinem Konto dort, scheinen ja grundsätzlich abrufbar zu sein!
Dann kann es nur an ioBroker liegen, bzw. der Übermittlung oder Verarbeitung!
Eigentlich wird bei jeder Aktion ein Eintrag im log gemacht, starte das Blockly nochmal und schicke mir alle Einträge die damit zusammenhängen könnten, auch ein Screen der Objekte könnte hilfreich sein… -
@newpicsel sagte in Stabiles Netatmo Thermostat Blockly (Adapter):
Moin
Ich werde diesen dann auch bei den älteren Versionen aktualisieren!
Das wäre sehr löblich von dir!
-
@newpicsel Im Javascipt Adapter habe ich wie beschrieben die Hacken gesetzt.
Ich hatte die Version 1.3.1 auch probiert (alles gelöscht und neu installiert), leider der gleiche Fehler.
Ich kann den Fehler einfach nicht finden. Hatte bereits ein neues System aufgesetzt um jegliche Altlasten auszuschliessen. Immer der gleiche Fehler.
Wie bereits beschrieben erhalte ich mit dem Curl-Befehl (NaPlug) alle Angeben. Token hinterlegt.
(curl -X GET "https://api.netatmo.com/api/homesdata?gateway_types=NAPlug" -H "accept: application/json" -H "Authorization: Bearer xxxxf129bd1dbf955899771db0805acbe8854fexxxx)
Ich denke der Fehler am Netatmo-Konto kann ausgeschlossen werden.Anbei der Auszug aus den Objekten:
Wenn ich den Objektbaum anschaue steht unter "Token_Request" bei "write" "false"
benötige ich evtl. noch zusätzliche Rechte die ich nicht aktiviert habe?Habe auch keine anderen Fehler im Log.
Anbei den Inhalt des Objektes.
0_userdata.0.Eigene_Objekte.Netatmo -
@kpmc Moin,
Also in den Objekten (Access_Token, Refresh_Token und Token_Request) steht "invalid grand type", das ist gar nicht so schlecht, weil das bedeutet, die Anfrage findet statt, nur stimmt mit den Daten etwas nicht!
Zuerst ist ein Intervall von 0sek nicht so optimal
Stelle diesen mal auf 30-60sek…Die Rechte für "Write" sind auch ok, da diese Objekte nur vom System geschrieben werden.
Dein curl Befehl, kannst du fast komplett ignorieren, auf der Website von Netatmo sehen die Befehle anders aus, weil du dort bereits angemeldet bist, von außerhalb jedoch nicht, deshalb muss der Befehl anders aussehen und stellt sich aus deinen Zugangsdaten zusammen!
Aber diesen Befehl kannst du auch komplett ignorieren, weil das Blockly alles automatisch erledigt.
Lediglich deine HomeID kannst du dort hervorragend abgreifen!Wichtig sind deine korrekten Zugangsdaten, und so wie es aussieht, stimmt hier tatsächlich etwas nicht, was oder warum, kann ich schlecht ermitteln, wir können nur gemeinsam die Schritte durchgehen, wo und wie du diese erhalten hast, eventuell können wir so Fehler ausschließen.
Fangen wir mit der HomeID an:
Auf der Website von Netatmo eingeloggt (wichtig du musst eingeloggt sein), scrollst du runter bis auf "GET/homesdata" klickst auf "try it response" dann auf "try it out" und dann auf "execute /homesdata" direkt unter homes steht nun eine ID: das ist deine HomeID.
(Ich kann gerne Bilder zur Erklärung hochladen wenn gewünscht?)Benutzername (Email) und Passwort sollten klar sein, dass sind die, mit denen du dich bei Netatmo anmeldest.
ClientID und ClientSecret, bekommst du indem ebenfalls auf der obigen Website von Netatmo, hier musst du auf dein Benutzernamen klicken und dort auf "My Apps", dort musst du eine App anlegen, hier nur die Pflichtfelder ausfüllen und die App aktivieren.
Diese Daten in den Objekten eintragen und den Rest macht das Blockly automatisch, hier sehr gewissenhaft alle Daten übertragen, mir selber ist es schon passiert und auch mit anderen Nutzern, mit den ich geschrieben habe, haben oft irgendwo eine Zahl beim kopieren vergessen oder ein Fehler beim tippen gemacht, bzw. ein Fehler bei der Beschaffung der Daten gemacht, es hört sich immer doof an, aber ein anderes Problem als fehlerhafte Zugangsdaten, gab es seit der ersten stabilen Version des Blocklys nicht.
Und auch hier sieht es so aus als ob es daran liegt.Ganz WICHTIG das Blockly nach der Eingabe aller Daten neu starten! Fehlermeldungen bis dahin sind normal!
Ich hoffe das konnte helfen, geb bitte kurz Bescheid, sonst schauen wir uns alles noch genauer an!
EDIT:
Sorry, der Fehler mit dem Intervall auf 0 liegt wohl nicht bei dir, dieser wird beim erzeugen immer auf 0 gesetzt, erst wenn der Status auf True geprüft wird, stellt sich dieser auf 60sek! -
@newpicsel
ich habe den intervall auf 30 sek. gestellt. hat sich noch nichts geändert.Ich habe die Home-ID wie auch nochmals von dir beschrieben ermittelt:
Die gelb eingekreiste Fläche sollte meine Home-ID sein.Dann habe ich die App angelegt:
ID und SecretID -> Copy Paste in dievorgeshenen Werte im ObjektbaumHabt das Blockly mehrmals gestoppt/gestartet und neuinstalliert (Auch der Objektbaum gelöscht)
Immer mit dem gleichen Resultat.Ich zweifele nicht am Blockly, eher das ich die Angaben im Netatmo-Account falsch angelegt habe.
Sollte eigentlich nicht schwer sein.- Einloggen, sehe meine Geräte im Account
- Neue App anlegen "My Apps" -> In meinem Fall "Heizung_Netatmo"
- Pflichtfelder alle ausgefüllt -> data protection officer mail: habe die gleiche Mail genommen wie für das Login bei Netatmo. Ist das falsch?
- ID's in den Objektbaum kopiert.
redirect URI / webhook URI sind leer, muss ich hier was ausfüllen?
Meine Vorgehensweise beim Import vom Blockly:
- deine RAR-Datei heruntergeladen und mit 7-Zip als txt-Datei geöffnet.
- Neues Blockly erstellt -> Import (Copy+Paste). Muss das Blockly in eine spezielle Ordnerstruktur? (Global, Common, etc.)
Den kompletten Vorgang habe ich mehrere Male wiederholt, immer mit dem gleichen Resultat.
-
Scheint soweit alles ok!
Blockly in Common erstellen!Mir fällst sonst auch nichts mehr ein, die Abfrage passt, auch wenn es nervt und man kurz davor ist alles hinzuschmeißen, es muss an den Zugangsdaten liegen
Beim Copy/Paste was vergessen oder Zuviel markiert? Ein Leerzeichen könnte schon reichen oder ein Gänsefüßchen mit kopiert, ich hatte mir die Client Daten in eine TXT kopiert woraus ich sie immer gezogen habe beim Testen und dort schon eine Zahl vergessen, ich bin fast verrückt geworden!Beim Benutzernamen, hast deine Emailadresse genommen? Groß und Kleinschreibung überall korrekt?
Es passieren manchmal die unerklärlichsten Fehler, jemand hatte mal ein Leerzeichen in der Emailadresse, sowas fällt nicht immer sofort auf…Einzige Möglichkeit um wirklich etwas mit dem Blockly auszuschließen, den Energie Adapter installieren und testen ob es mit diesem geht?
Es kann aber eigentlich nicht an Iobrocker, dem Blockly oder ähnliches liegen, es wird ja versucht die token abzufragen, die Error Nachricht, welche zB. In dem Objekt Token_Request hinterlegt ist, kommt direkt von Netatmo und nicht vom Blockly oder iobroker etc.
also werden Anfragen gesendet und auch antworten von Netatmo empfangen, Netatmo antwortet aber, dass etwas mit den Zugangsdaten nicht stimmt was da nicht stimmt ist sehr schwer zu ermitteln, wenn dies nicht sein eigenes Konto ist -
(Update 20.09.2021) v1.4.1 - !!NICHT EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v1.4.1.rar
(Wenn möglich den kompletten Netatmo Ordner löschen (muss nicht sofort passieren), gut wäre zusätzlich den Eigene_Objekte Ordner zu löschen, hier müssen keine unterverzeichnisse mitgelöscht werden, wenn der Netatmo Ordner bereits seperat gelöscht wurde!)
Minimale Anpassungen, wer die v1.3.1 oder v1.4.0 laufen hat, muss diese Version nicht zwingend installieren, kleine fehlerbehebungen und optische anpassung, der Ordner "Netatmo" selber und somit dessen ID gibt nun keinen Wert "true/false" für den status des „Adapters“ mehr aus!... -
Moin an alle Smart Home Freunde
!!Wichtig!!
Es kann tatsächlich einen Fehler bei der Tokenabfrage geben! Hier werden die Token nicht richtig aktualisiert, warum oder wie der Fehler zustande kommt, weiß ich noch nicht genau, ich hatte dies beim Testen einer neuen Version, dieser hat sich jedoch schneller behoben als ihn rekonstruieren konnte!
Ich bin dran und werde den Fehler beheben!
Bis dahin bitte keine Aktualisierung der Blockly Version durchführen!!!
Der Fehler tritt nur auf, wenn Token komplett neu angefordert werden, solange ein refresh_token vorhanden ist, wird wohl alles normal weiter laufen.Dies liegt wohl aber an einer Änderung oder Update von ioBroker bzw. des JavaScript Adapters, deshalb wird so schnell wie möglich ein Blockly mit der Version 1.5.x erscheinen, worauf dann alle Updaten sollten!
Weitere Informationen folgen…
Danke und schöne Grüße
Newpicsel -
(Update 28.09.2021) v2.2.0 - !!NICHT EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v2.2.0.rarDer komplette Ordner "Eigene_Objekte" sollte gelöscht werden! Wurde dies bereits bei der v1.4.1 gemacht, nur den Netatmo Ordner löschen!
(Wer weitere Objekte im "Eigene_Objekte" Ordner hat, kann auch erst den kompletten Netatmo Ordner löschen und dann den "Eigene_Objekte" löschen und auf „DIESES OBJEKT“ klicken, dann bleiben Unterordner/Objekte bestehen!)Wichtige Neuerungen:
• Das Blockly muss bei Eingabe von Externen ID‘s nicht neu gestartet werden. (Fenster Sensoren, Away ID‘s)• Das Blockly kann per Button in den Objekten neu gestartet werden! (Test bitte um Feedback)
• Zusätzliche Objekte mit ID‘s und Empfangsstärke der Geräte, Details der Bridge und die in der App festgelegte Temperatur für „Frostwächter“ und „Away“ stehen nun zur Verfügung.
• Die Funktion der Externen Fenstersensoren wurde komplett überarbeitet und ist nun noch sicherer!
Zum Schutz vor falschen Wertänderungen durch kurzen (schnellen) öffnen und schlißen eines Sensors, wartet das System nun 10 Sekunden nach einer Aktion, prüft den soll Zustand und reagiert dann erst auf eine Änderung.
Beim öffnen eines Sensors wird die in den Objekten eingetragene Temperatur bzw. Wenn diese auf 0 steht, die Frostwächter Temperatur für 24 Stunden eingestellt, sollte sich die soll Temperatur in einem Raum ändern, überprüft das System ob das Fenster geöffnet ist, falls wahr, wird entsprechende Temperatur erneut für 24 Stunden eingestellt.
Beim schließen eines Sensors, wird direkt der reguläre Heizplan in diesem Raum aktiviert.
(Natürlich kann dann während das Fenster offen ist, die Temperatur nicht geändert werden, dafür müsste der "fensterStatusOpen" wert in den Objekten auf "false" geändert werden, das System reagiert dann auf die nächste Aktion wieder normal und stellt beim nächsten öffnen auch wieder auf "true")• die Angabe des Batterie Levels wurde wieder hinzugefügt! (Was genau die Zahl aussagen soll ist mir ein Rätsel, solltest du da mehr wissen, gib gerne Bescheid, dann könnte ich diese eventuell zusätzlich in Prozent umwandeln!)
• Sehr viele mögliche Probleme, Fehler und eventuell auftretende Fehler sind behoben oder das System so eingestellt, dass es Fehler selber behebt!
• Struktur und Objekte aufgeräumt…
Testen und fleißig Feedback geben bitte
Danke für eure Hilfe und besonderen Dank an @bubus@KPMC sollte jetzt auch bei dir laufen!
-
@newpicsel
Danke!!!
Ich habe nicht alle Funktionen ausprobiert, mir sind die Fenstersensoren wichtig, und die funktionieren richtig gut!
Klasse Arbeit! -
@newpicsel danke für dein Einsatz und deine Tipps.
Leider bekomme ich immer noch die selbe Fehlermeldung.
Ich habe einen neuen Netatmo-Account erstellt, die Thermostate in diesen gewechselt -> kein Erfolg.
Ich habe eine neue virtuelle Maschine erstellt (Proxmox, Ubuntu 20.04) nur die nötigsten Features installiert. Immer das gleich Ergebnis.
Das selbe auch schon mit einem Raspi 3 (Raspian Buster), auch kein Erfolg.
Als nächstes werde ich meine Netzwerk prüfen (Firewall, Router, etc.) vielleicht bleibt da was hängen!
Das Blockly wird sicher fehlerfrei sein, das zeigen die Tests der anderen Nutzer.
Ich bleibe dran (Erst mal Ferien ).
Danke nochmals für deine Tipps und Feedbacks, saubere Sache -
Ok, berichte gerne hier wenn es etwas Neues gibt, ich Fieber richtig mit und bin am überlegen was hier den Fehler verursachen könnte.
Ich kann mir nur schwer vorstellen, dass dein System daran schuld sein könnte, du wirst sicher auch andere Funktionen und Adapter laufen haben, die problemlos laufen oder?
Du kannst gerne einmal dein kompletten log ab Start des Blocklys posten, eventuell fällt mir noch etwas auf, wenn das nicht hilft, kann ich gerne für dich die aktuelle Version des Blocklys so abändern, dass wirklich bei jeder Aktion ein Feedback mit Ergebnis im log geschrieben wird, eventuell kann man so den Fehler ermitteln, ich mache das selber immer so um Fehler zu finden bzw. die Position des Fehlers zu bestimmen.
Können hier auch gerne erstmal privat weiter schreiben und sollten wir tatsächlich etwas finden, hier als mögliche Hilfe für andere Posten…
Ich bin überzeugt das kriegen wir schon irgendwie zum laufen!
-
(Update 30.09.2021) v2.4.0 - !!NICHT EMPFOHLEN!!
Netatmo_Thermostat_Blockly_byNewpicsel_v2.4.0.rar
Wenn die Version 2.2.0 installiert war, muss nichts gelöscht werden!• Kleiner Fehler wurde beseitigt, der nur sehr sehr selten überhaupt zu einem Fehler führt!
• Die Option einer Maximalen soll Temperatur wurde hinzugefügt, dafür steht ein neues Objekt in den Räumen zur Verfügung, in dem die max soll Temperatur eingetragen werden kann (0 = deaktiviert).
Hier wird bei jeder Änderung der soll Temperatur überprüft, ob diese über der Max Temp. liegt, falls ja, wird die reguläre heizplan Temperatur eingestellt.
(Wer Kinder hat, weiß wozu diese Funktion gut ist 🤪 ich hatte bereits vor langer Zeit bei Netatmo angefragt, ob die Funktion in der App eingeführt werden könnte, die manuelle Steuerung eines Thermostats am Thermostat zu deaktivieren, da von Seiten Netatmo kein Interesse besteht, habe ich so zumindest die Möglichkeit sicherzustellen, dass mein Sohn die Heizung im Kinderzimmer nicht ständig auf 30grad stellt )Gebt wie immer gerne Bescheid, sollte es Probleme geben!
-
Eventuell kann es bei der neuen Version in Verbindung mit den externen Sensoren für Fenster, zu dem Problem kommen, dass die Fenster offen Temperatur in kurzen Abständen immer wieder an die api gesendet wird.
Was wiederum dazu führt, dass die api kurzzeitig dicht macht weil zu viele Anfragen gesendet werden.Ich werde das Problem morgen Abend beheben und ein Update posten…
-
Hallo,
Ich habe seit einigen Tagen auch das Netatmo Smart Thermostat NTH01-DE-EC
Ich bekomme das Skript nicht zum starten, also ohne Fehler jedenfalls......
Bei der HomeID habe ich zweifel ob ich die richtige neme
{ body:{ homes:[ { id:"6155xxxxxxxxxxxxxxxxxx" **( Das ist doch die Home ID oder ?)** name:"xxxxx" **( undwichtig oder ? )** altitude:42
Hat jemand ein Tipp wo ich was falsch eingetragen habe oder liegt es an was anderem?
mfg
-
Moin, Home ID sollte passen wenn du angemeldet warst und Try it war das glaub ich gedrückt hast, ansonsten stehen da nur Beispiele
Hast du das Blockly neu gestartet nachdem du die Zugangsdaten eingegeben hast?
Im log steht „invalid_client“, eine App hast du auf der Seite von Netatmo angelegt und die ClientID und den ClientSecret in die Objekte eingetragen?
Als erstes würde ich die Zugangsdaten alle noch einmal kontrollieren und Blockly neu starten, sollte das nicht helfen, poste mal den log ab Start des Blocklys und schaue was in dem Objekt "token_request" steht, sollte dort ein Token und refresh Token drin stehen, schaue was in dem Objekt "access_token" und "refresh_token" steht, sollte in den drei Objekten keine Token stehen, sollten normalerweise die Fehler angegeben sein, poste diese nochmal hier, schaue auch was in den Objekten "home_data" und "home_status" steht, diese sollten entweder so aussehen wie das Try it Ergebnis auf der Netatmo Website oder es sollten auch Fehler drin stehen, poste diese ebenfalls.
Sollte in allen Objekten der gleiche Fehler stehen, reicht natürlich einer…Und dann schauen wir weiter…
PS: ja name ist erstmal unwichtig, sollte aber mit dem "Home" Namen in deiner App übereinstimmen.