Netatmo Service

Hallo @Will_71,
Ich habe ein Docker-Image, falls du es testen möchtest: terdious/gladys:netatmo-prod-last-armV7.
Jeder Feedback ist willkommen !!^^

Kein Glockenspiel ^^ Ich habe die Besonderheit, zwei Schranken zu haben, eine mit der Netatmo-Klingel, die an nichts angeschlossen ist, sie klingelt auf dem Telefon und ich öffne sie mit Gladys über einen Arduino. Die andere ist an einem Bticino Class 300 EOS angeschlossen, der vor 2 Stunden installiert wurde :sweat_smile:

Ok danke :+1:
Ich werde das schnell testen und dich auf dem Laufenden halten.
Ich habe eine Entwicklungsumgebung (zurzeit lerne ich noch, da ich noch kein JavaScript mache), also werde ich auch dein Git-Repo klonen, um mir die Integration mal anzusehen.

Das ist nicht unbedingt das Einfachste zum Einstieg :sweat_smile:

In der Tat hat @VonOx recht, was das Repository und die Details des Codes angeht – es ist ein großes Projekt. Zwar funktioniert alles, aber es ändert viele Dinge in Gladys, die nicht alle auf einmal und/oder nicht auf diese Weise implementiert werden. Das Ziel, um die Integration herauszubringen, ist es, einen sauberen Pull Request zu erstellen und den Service schrittweise zu importieren. Daher ist es vielleicht nicht das Praktischste und das Anschaulichste, um anzufangen ^^

Ja, ich denke, das ist nicht so einfach.

Aber ich mag es, zu sehen, wie es funktioniert, und wer weiß, vielleicht werde ich eines Tages selbst Hand anlegen und Code für Gladys schreiben…

Aber ich schreibe sowieso schon den ganzen Tag Code (nur nicht in JavaScript) bei der Arbeit, also verstehe ich schnell, und es ist immer einfacher (naja, fast), wenn es etwas Konkretes gibt.

In diesem Fall, zögere nicht, wenn du Erklärungsanfragen hast! Ich habe vorher nur in der Automatisierung entwickelt. Dann habe ich für einen beruflichen Bedarf mit VB für Excel in Autodidaktik angefangen. Anschließend habe ich mich in C gestürzt, um Arduinos zu entwickeln und einige Modifikationen unter Gladys V3 für Netatmo vorzunehmen und schließlich auf Gladys V4, dank der großen Hilfe von @damalgos und @VonOx sowie natürlich den anderen Entwicklern.

Entschuldige also schon im Voraus, denn ich denke wirklich, dass ich schmutzig code… insbesondere auf der Frontend-Seite, wo das Wichtigste für mich im Moment ist, dass es funktioniert. Also alles, was nicht einfach nur Kopieren/Einfügen mit leichten Modifikationen ist, das schmerzt die Augen ^^

Ok, danke,:+1: kein Problem mit dem „schmutzigen“ Code…
Zuerst werde ich erstmal die Funktionsweise testen und mir den Code danach anschauen…

Da haben wir es @Terdious, ich habe den Netatmo-Dienst gestartet und Gladys ist mit NetAtmo verbunden :smiley:
image

Da ist schon einiges erledigt! :clap:

Er hätte das vor dem Verkauf meiner gesamten Ausrüstung erledigen können.
Jetzt bin ich komplett elektrisch.

Gute Arbeit für den nächsten Winter. :clap:

@Terdious, aber ich habe 403-Fehler.
image

Hallo @Will_71,

Ja, das ist im Moment „normal“. Netatmo ist in 4 Familien unterteilt (jetzt 5 mit dem Legrand With Netatmo-Material):

  • Home + Security (Innen- und Außenkameras / Öffnungsmelder / Rauchmelder / Kohlenmonoxidmelder / Sirene / Klingel / Bticino-Türsprechanlage)
  • Energy (Ventil / Thermostat / Relais)
  • Weather (Wetterstation / Regenmesser / Anemometer / Innenmodul)
  • Aircare (Home Coach Healthy = Innenraumluftqualität)

Da ich fast alles Material zur Verfügung hatte, haben wir es so entwickelt, dass es alles abruft. Aber ich bin dabei, eine zusätzliche Parameterseite zu entwickeln, um die „Dienste“ auszuwählen, für die du dich anmelden möchtest. Das wird auf dieser Seite sein. Es sollte nicht mehr lange dauern…^^

Ok. :+1:
Ich denke, du wirst auch später vorhaben, zum Beispiel den Thermostat steuern zu können?

Genau. Aber das ist Teil einer Überlegung zur Funktionsweise der Heizung in Gladys, die zunächst global geführt werden muss und die leider noch nicht abschließend geklärt wurde. Dennoch, um neben gladys-prod weiterarbeiten zu können, plane ich, auf meiner Seite etwas für mein gladys-netatmo zu entwickeln, das ich natürlich teilen werde. Zur Information: Ich betreibe diese Instanz auf einem zweiten Raspberry Pi 4, auf dem noch zwei weitere Gladys-Instanzen laufen (eine für das Pro und eine als „Pod“).

Was ich vorhabe, ist:

  • Ich hole mir bereits alle Zeitpläne, die derzeit in den Geräteeinstellungen gespeichert sind. Mir bleibt nur noch, sie anzuzeigen,
  • Entwicklung des Befehls zur Auswahl des Zeitplans,
  • Entwicklung des Befehls für die Sollwerte der Ventile und Thermostate,
  • Abrufen und Festlegen der Zeit für den manuellen Betrieb,
  • Entwicklung des Befehls für die Sirenen und Lichter der Außenkameras.

Ok, du hast schon ganz schön was geschafft :clap:

Für meinen Teil würde ich im Moment nicht ständig einen Gladys-Entwicklungs-Server mit dem NetAtmo-Dienst laufen lassen, da ich immer noch meine Heizung auf einem zweiten RPI unter Domoticz habe. Ich habe Angst, dass das zu viele Anfragen an NetAtmo sendet. Ich erinnere mich nicht mehr an den Namen der maximalen Anfragen.

Ich bin erst vor kurzem zu Gladys gewechselt und wollte meine funktionierende Heizung nicht zerstören, solange ich sie noch brauchen könnte. Ich werde das im Sommer während meines Urlaubs ändern.

Auf diesem RPI habe ich ein Python-Skript erstellt, um die NetAtmo-Informationen meines Thermostats abzurufen und meine gesamte Heizung (Pelletöfen + elektrische Heizung) zu steuern. Daher habe ich auch die Daten an MQTT gesendet, als ich zu Gladys wechselte.

Für mich fehlt mir nur ein Thermostat-Gerät, um eine Heizungslösung in Gladys zu haben.
In meiner aktuellen Verwaltung habe ich ein virtuelles Thermostat (Fake-Gerät) eingerichtet, um die Heizung Raum für Raum zu verwalten + das NetAtmo-Thermostat als Hauptthermostat.
Danach denke ich, dass ich mich durchschlagen könnte, um meine gesamte Heizung zu verwalten (entweder über Szenen oder ein Skript außerhalb von Gladys).

Hallo @Will_71,

Zur Info, ich habe gerade ein Update auf v4.8.4 gepusht, das deinen Kommentar integriert:

Du hast jetzt auf der Seite « Einstellungen » Zugriff auf die Auswahl der APIs, die du möchtest:


Da du nur die Heizung und den Thermostaten hast, wie ich verstehe, musst du nur « Netatmo Energie » auswählen.

Also, wenn das dich beruhigt, gibt es von dieser Seite mit Gladys kein Risiko, da wir die Anfragen standardmäßig auf 2 Minuten für den Energie-Teil eingestellt haben. Das sind 2 Anfragen alle 2 Minuten. Außerdem kannst du auf der Seite « Einstellungen der Geräte und Funktionen » die Zeit zwischen zwei Aktualisierungen erhöhen:


Für mich verwende ich die 4 APIs über 2 Instanzen (die Produktion und die Entwicklung gleichzeitig) mit:

  • API Home + Security alle 30 Sekunden = 2 Anfragen/Minute * 2 Instanzen = 4 Anfragen/Minute,
  • API Energie alle 2 Minuten in der Entwicklung und alle 1 Minute in der Produktion = 22 Anfragen/2 Minuten + 22 Anfragen/Minute = 6 Anfragen/Minute,
  • API Weather alle 5 Minuten = 1 Anfrage/5 Minuten * 2 Instanzen = 0,4 Anfragen/Minute,
  • API Aircare alle 2 Minuten = 1 Anfrage/2 Minuten * 2 Instanzen = 1 Anfrage/Minute,
  • Gesamt = 11,4 Anfragen/Minute
    Das Limit beträgt 50 Anfragen alle 10 Sekunden, das ist großzügig ^^

In diesem Fall, wenn du die Informationen über Gladys haben möchtest, kannst du das tun, auch wenn es für mich wirklich nützlich ist, da es der einzige Weg ist, meine Heizung zu steuern (2 Ventilstecker und es ist unmöglich, einen Stecker von einem anderen über Netatmo zu steuern - das ist verrückt ^^) und die Kameras zu haben.

Ja, das wird auf jeden Fall über die Szenen möglich sein, sobald die Befehle erschienen sind.

Vorschau der Geräte:

Einige Ansichten des Dashboards (Es gibt noch Dinge zu tun mit den Sirenen, den Befehlen und den Infos der letzten Aktualisierung ^^)



Cool, ich würde es mal ausprobieren.

Es funktioniert tatsächlich, wir haben genug Kapazität für Anfragen. Ich kann Gladys für Produktion und Entwicklung gleichzeitig laufen lassen und mein altes System behalten.

Gute Arbeit​:clap:

Ja, vergiss nur nicht, den Namen der DB und den Port im Docker-Befehl zu ändern (du bist vielleicht schon gut informiert darüber, aber zur Sicherheit ^^)
Die Befehle, die ich ausführe:

docker pull terdious/gladys:netatmo-prod-030522
docker stop gladys-netatmo
docker rm gladys-netatmo

docker run -d \
--log-opt max-size=10m \
--restart=always \
--privileged \
--network=host \
--name gladys-netatmo \
-e NODE_ENV=production \
-e SERVER_PORT=82 \
-e TZ=Europe/Paris \
-e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production-netatmo.db \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/lib/gladysassistant:/var/lib/gladysassistant \
-v /dev:/dev \
terdious/gladys:netatmo-prod-030522

Und nur zur Info, da ich es in der Produktion mit einem zusätzlichen Gladys Plus verwende, werde ich es bei jeder neuen Version von Gladys master aktualisieren. Das Datum wird sich im Docker-Image ändern, um sicherzustellen, dass nichts kaputt geht, falls ich ein schlechtes Update durchführe!!