Dienstag, 8. Oktober 2019

schaltbare Steckdose auf Wlan

Vorbemerkung:
An der hier erwähnten Software tuya-convert und auch an der MQTT(2) Implementierung in FHEM wird quasi ständig gearbeitet. Konkrete Befehle usw. können sich mittlerweile geändert haben!

Der Markt ist förmlich geflutet von diesen "Plugs". Alle arbeiten irgendwie ähnlich, haben einen ESP Chip als "Herz" mit einer Software die meist über irgendeine Cloud, mit einer App auf dem Smartphone "spricht". Und dann kann "Oma" vom Kreuzfahrtschiff aus, zu Hause das Licht an und aus machen. Viele dieser Geräte bedienen sich der Cloud von Tuya und diese kann man leicht umprogrammieren und sie damit "Cloud Frei" betreiben.
Wie verbindet man diese Dinger jetzt mit FHEM? Ein Zauberwort ist MQTT - mal wirklich so etwas wie der Standard in der Automatisierung.

Ich habe vier Gerätetypen ausprobiert:
  • Gosund SP111 (2500 Watt und 3450 Watt Version)
  • Shelly Plug S
  • Gosund SP1
Die ersten Beiden sind vom äußeren her besonders schick und klein, die Dritte ist größer und kann 16 Ampere schalten. So groß und klobig wie meine "alten" Homematic Dosen sind sie alle nicht. Alle Dosen können die angeschlossene Leistung messen, was für Automatisierungsaufgaben sehr hilfreich ist!

Richtige Firmware flashen

Achtung: Für tuya-convert empfehle ich eine extra SD Card /extra System zu nehmen! Nicht einfach ins produktive System installieren!
Es gibt eine neuer Version, die arbeitet etwas anders als hier beschrieben.

Viele Wlan Dosen können ohne sie zu öffnen nach der Anleitung im obigen Link geflashed werden. Man holt sich zunächst die aktuelle Software vom GitHub und startet das Script
git clone https://github.com/ct-Open-Source/tuya-convert
cd tuya-convert
sudo ./install_prereq.sh

danach kann der Flashvorgang gestartet werden
sudo ./start_flash.sh
Man muss den ersten Dialog mit yes + enter beantworten. Danach muss man mit einen Gerät (Android oder Windows PC, alles andere geht wohl nicht) eine Wlan Verbindung zu vtrust-flash machen und behalten!
Jetzt startet man die Dose, sie muss schnell blinken! Nach ein paar Sekunden sollte ein Download Dialog zu sehen sein. Wenn es beim ersten Mal nicht funktioniert, lohnt es sich mehrfach zu probieren!
Ist der Vorgang komplett abgeschlossen, ist nur eine Übergangsfirmware auf der Dose, hier käme man noch zurück oder flashed jetzt tasmota. Der erste Befehl zeigt nur die Bereitschaft, der zweite Befehl flashed Tasmota Basic.
curl http://10.42.42.42/flash2
curl http://10.42.42.42/flash3

Nach einiger Zeit muss sich ein neues Wlan melden sonoff-1234.
Damit beendet man den Vorgang:
sudo ./stop_flash.sh

tuya convert flashed eine Sonoff/Tasmota Basic Version 6.6.0.7(digiMIN). Ich habe festgestellt, dass vor allem bez. der Messung das Standard Image wesentlich besser läuft. Das kann man nach dem ersten Start in der Oberfläche des ESP OTA flashen.
Achtung: Aktuell (ab Version 7?) haben die Entwickler alles umbenannt: sonoff.bin heisst jetzt tasmota.bin. Man muss also die url ändern:

http://thehackbox.org/tasmota/release/tasmota.bin
# oder eine andere Sprache
http://thehackbox.org/tasmota/release/tasmota-DE.bin

Danach Werksreset machen und neu konfigurieren! Jetzt heisst das Gerät auch nicht mehr sonoff-1234 sondern tasmota-1234

Wenn es gar nicht funktioniert: öffnen, Drähte anlöten und mit USB-Serial Wandler flashen.
zu offenem sonoff-1234 verbinden (die vierstellige Zahl merken) und (falls es nicht automatisch funktioniert) zu 192.168.4.1 verbinden. Dort Wlan konfigurieren.

Konfiguration der Steckdose an sich per eigener Weboberfläche

Tasmota

Eigentlich muss man primär nur 2 (3) Punkte konfigurieren.

1. Menüpunkt: Configure Module
Gosund SP1 - direkt als SP1 vorhanden
Gosund SP111 - als BlitzWolf SHP konfigurieren
SP111 neue Version (3450 Watt) - Für diese Dose braucht man ein Template!

1.1 Menüpunkte: Configure Other / Template
Ich habe hier ein Template gefunden:
Rot Wlan, Blau Status
{"NAME":"Gosund SP111 2","GPIO":[56,0,57,0,132,134,0,0,131,17,0,21,0],"FLAG":0,"BASE":18}
Rot Status, Blau Wlan
{"NAME":"Gosund SP111 2","GPIO":[57,0,56,0,132,134,0,0,131,17,0,21,0],"FLAG":0,"BASE":45}

2. Menüpunkt: Configure MQTT
Server, Port, User, Password einrichten und Haken bei Passwort setzen!

Shelly Plug

Im Menüpunkt Internet&Security/Developer "enable action excution via mqtt" aktivieren und
  • Benutzer/Passwort
  • Server:Port 
eintragen.

MQTT in FHEM

Ist absolut easy. Man definiert
define mqtt2s MQTT2_SERVER 1883 global
und das war es schon. Für die Sicherheit sollte noch ein allowed definiert werden.
define allowedMqtt allowed
attr allowedMqtt validFor mqtt2s
set allowedMqtt basicAuth username password
Die Steckdosen werden, nachdem sie etwas gesendet haben, automatisch angelegt (Raum MQTT2_Device), man muss nur etwas warten. Die Meldung der Dose beim mqtt Server bewirkt ein autocreate.
Um die Dose schalten zu können braucht man lediglich ein passendes Template anzuwenden.
Dort passieren laufen noch Entwicklungen, deswegen fällt die Beschreibung hier nur kurz aus. Beispiel:
set MQTT2_DVES_xxxxx attrTemplate tasmota_basic

Empfehlung

Wer es klein und hübsch haben will und keine große Leistung braucht, nimmt den Shelly Plug S. Den braucht man nicht umflashen, der misst zuverlässig die Leistung, lässt sich leicht über die eigene Firmware konfigurieren und in MQTT einbinden.
Für größere Leistung nimmt man den Gosund SP1 (gibt es baugleich unter anderen Bezeichnungen). Der misst zuverlässig und ist mit Tasmota Software gut konfigurierbar.
Der Gosund SP111 ist (mit Tasmota) aus meiner Sicht nicht so doll. Die Messwerte schwanken in einem Bereich +- 10%.
Es gibt von der SP111 eine Version 3500 Watt. Die hat eine andere Platine, kann aber auch OTA geflashed werden.
Alle Stecker haben einen Eigenverbrauch:
ca. Angabe in Watt (aus - ein)
  • 0,5-0,8 (Shelly) 
  • 0,3-0,6 (SP111)  
  • 0,3-1,1 (SP1)
Man kann bei allen drei Dosen festlegen wie das Verhalten nach einem Stromausfall ist. Bei Tasmota ist es per default so wie vor dem Stromausfall. Bei dem Shelly ist es per default aus.
Alle drei Dosen können bei einer Überlast abschalten.
Der Shelly Plug S kann auch bei einer überhöhten Eigen-Temperatur abschalten.
Es lässt sich eine maximale Einschaltzeit konfigurieren, bei der egal ist ob lokal oder über MQTT geschaltet wurde.

Tasmota

In der Weboberfläche von Tasmota lassen sich so grundlegende Sachen einstellen. Viele interne Dinge, so zum Beispiel auch Messwerte kalibrieren oder Schwellen für die sofortige Datenübertragung festlegen passiert in der "Konsole", die erreicht man aus dem Hauptmenü und die Kommandos findet man auf der Tasmota Docu Seite unter Commands. Leider ändert sich diese Seite ständig, also notfalls auf der Hauptseite nach Doc und commands suchen.

Beispiele Konsole
Durch Eingabe des Kommandos an sich ohne Parameter bekommt man den momentanen Wert. Mit Parameter setzt man den Wert neu.
TelePeriod 60
PowerDelta 101

ToDo?

Code Block

8 Kommentare:

  1. Hallo Otto, danke für die Anleitung.

    Wo finde ich im Wiki die "sofortige Datenübertragung" ?
    Ich habe die TelePeriod auf 15 gesetzt, aber das ist m.E. nicht zielführend. Für einen kleinen Schubs wäre ich dankbar. Weil ich will anhand eines Readings schnell schalten via Notify/Doif.

    LG
    Oliver

    AntwortenLöschen
    Antworten
    1. Hallo Oliver,

      naja z.B. hier https://github.com/arendst/Tasmota/wiki/Commands#power-monitoring
      Ich habe das selbst noch nicht umfangreich getestet, aber z.B. PowerDelta sollte doch so etwas sein!?

      Gruß Otto

      Löschen
  2. Hallo Otto,

    danke für die Rückmeldung. Nachdem ich die deutsche FW auf die Dinger via Onlinuptate installiert hatte, stand mir PowerDelta zur Verfügung, und alles funktioniert wie gewünscht. Teilweise bedarf es einer Power-Kalibrierung, aber das ist schnell erledigt.

    LG
    Oliver

    AntwortenLöschen
  3. Hallo Otto,
    es geht wohl auch das zu verbindende Gerät(Android oder Windows PC, alles andere geht wohl nicht) per WeMos D1 mini erledigen zu lassen (tuya convert donor). Die passende Firmware gibt es hier: https://github.com/digiblur/Tuya-Convert-Donor

    Gruß PeMue

    AntwortenLöschen
  4. Hallo Otto, nachdem die Gosund bereits erfolgreich geflasht wurde, flog diese immer wieder aus dem Router heraus und zeigte im Web-Interface plötzlich nur noch die Firmware "minimal" an. Nach dem o.g. Upgrade http://thehackbox.org/tasmota/release/tasmota-DE.bin per Online im Web-Interface glimmt die Steckdose nur noch Dauerrot. Ist sie jetzt hinüber oder kann sie noch irgendwie gerettet werden? Viele Grüße Michael

    AntwortenLöschen
    Antworten
    1. Da ist wohl was schief gegangen. Ich vermute: Da hilft jetzt nur: aufmachen und einen USB seriell Wandler anschließen und damit nochmal flashen.

      Gruß Otto

      Löschen
    2. OK, danke für das schnelle Feedback. Das habe ich schon befürchtet und werde aufgrund der fehlenden Hardware wohl darauf verzichten. Viele Grüße, Michael

      Löschen
  5. Danke Otto!
    Nach stundenlangen suchen in FHEM Wiki und Forum habe ich deine Anleitung für "tasmota in Fhem einbinden" gefunden. Fünf Minuten später funktionierte alles - nochmals herzlichen Dank!

    AntwortenLöschen