Tesla PowerWall 2 und das Zipatile

Ich habe seid kurzem eine Tesla PowerWall 2 und war natürlich daran interessiert, die Werte in mein SmartHome System zu bekommen.

Da es leider nichts Fertiges gibt, musst ich also wieder mit einem Linux Server (oder Raspberry Pi) arbeiten wie ich es schon ein paar mal getan habe -> https://zipabox.de/netatmo-liefert-werte-zur-zipabox/ oder https://zipabox.de/amazon-echo-mit-der-zipato-api/.

Inzwischen nutze ich aber keinen Raspberry Pi mehr, sondern einen virtuellen Server auf meiner Synology Disk Station….dass ist stromsparender und sicherer durch Backups, die erstellt werden können.

Die PowerWall liefert folgende Werte:
– Hausverbrauch
– Stromnetz
– Solar Erzeugung
– Batterienutzung
– Batteriestatus in %

Tesla PowerWall 2 Werte
Tesla PowerWall 2 Werte

Tesla PowerWall 2 Batteriestatus
Tesla PowerWall 2 Batteriestatus

Diese Werte hätte ich gerne im Zipato Universum…dadurch lassen sich später bestimmt noch ein paar schlaue Regeln schreiben.

Auf die Linux Basics werde ich jetzt nicht eingehen, alles was wir brauchen ist das Linux Tool curl und jq. Auf Zipato Seite müssen wir ein virtuelles Meter anlegen.

Das Script um die Werte von der PowerWall abzufragen und hochzuladen seht ihr hier:

#!/bin/bash
# Author: Helmut Esau
# Version 0.1

#Variable Tesla PowerWall 2
IP=(192.168.XXX.XXX)

#Variablen der Zipato Meter
powerwallpercentzipato=’https://my.zipato.com/zipato-web/remoting/attribute/set?serial=XXXXXX’
solarenergyzipato=’https://my.zipato.com/zipato-web/remoting/attribute/set?serial=XXXXXX’
hausverbauchzipato=’https://my.zipato.com/zipato-web/remoting/attribute/set?serial=XXXXXX’
gridzipato=”https://my.zipato.com/zipato-web/remoting/attribute/set?serial=XXXXXX’
powerwallzipato=”https://my.zipato.com/zipato-web/remoting/attribute/set?serial=XXXXXX’

#Variablen PV Anlage
battery=$(curl -ks https://$IP/api/system_status/soe | jq  ‘.percentage’)
powervalues=$(curl -ks https://$IP/api/meters/aggregates | jq  ‘.[] | .instant_power’)
grid=$( echo $powervalues | cut -d ” ” -f 1 )
powerwall=$( echo $powervalues | cut -d ” ” -f 2 )
house=$(echo $powervalues | cut -d ” ” -f 3 )
solar=$(echo $powervalues | cut -d ” ” -f 4 )

#Zipato Virtual Meter mit Werten füllen
curl -s $powerwallpercentzipato$battery > /dev/null
curl -s $solarenergyzipato$solar > /dev/null
curl -s $hausverbauchzipato$house > /dev/null
curl -s $gridzipato$grid > /dev/null
curl -s $powerwallzipato$powerwall > /dev/null 

Das Script wie gewohnt auf eurem Server in eine Datei abspeichern. z.B. powerwallwerte.sh. Den Code einfügen und abspeichern. Danach noch folgenden Befehl ausführen: chmod 777 powerwallwerte.sh

Und damit das ganze automatisch läuft, richtet ihr noch einen CronJob ein:

crontab -e

Dann fügt ihr folgendes ein:

*/1 * * * * /home/helle/Scripte/get_powerwall.sh

In der Weboberfläche sieht das ganze dann so aus

Bei Fragen…fragen 😉

Einfache und auch super funktionierende Bad-Lüfter Regel

Hier mal meine Bad-Lüfter Regel.

Wenn: sich die Luftfeuchtigkeit ändert startet die Regel.

Falls: die Luftfeuchtigkeit im Flur unterscheidet sich um > 9% gegenüber der Luftfeuchtigkeit in der Dusche, startet der Lüfter.

Sonst: Warten (180sek), damit der Lüfter nicht dauernd Ein- und Ausschaltet.
Dann wird die Differenz von der Flur-Luftfeuchtigkeit mit der Bad-Luftfeuchtigkeit verglichen und bei einem Unterschied <4% der Bad-Lüfter ausgeschaltet.

Das ganze funktioniert absolut zuverlässig und genauso wie es sein soll.
Der Spiegel beschlägt nun nicht mehr.
Probierts aus, es funzt.
Gruß, Mäffe

Überwachung eines Garagen-Tores (per Mail)

Bei offenem Garagentor wird eine Nachricht der Form
“Warnung – Garagentor ist nach Sekunden immer noch auf !”
verschickt.
Die Anzahl der Sekunden verdoppelt sich dabei, also es gibt bei 60s eine Meldung, dann nach 120s, dann nach 240s usw.
Danach springt die Anzeige auf Minuten um, also 10m, 20m, 40m. Bei 40 Minuten höre ich mit den Meldungen auf. Wenn das Tor zu ist gibt es eine Meldung, wie lange es offen war.

Die Mailtexte dazu

Garagentor innerhalb “Variable – GarageOpenTime” Minuten wieder geschlossen !
Garagentor innerhalb “Variable – GarageOpenTime” Sekunden wieder geschlossen !
Warnung – Garagentor ist nach “Variable – GarageOpenTime” Sekunden immer noch auf !
Warnung – Garagentor ist nach “Variable – GarageOpenTime” Minuten immer noch auf !