Shelly TVR & Door/Window2

Neue shelly devices in der Home Automation

Nach längeren Recherchen habe ich mich entschlossen einmal einen Heizungsradiator mit einem smarten Thermostatregler auszustatten. Da ich bis jetzt immer gute Erfahrungen mit den Shelly Devices gehabt habe, entschloss ich mich für den Shelly TRV. Habe ihn mir beim https://www.shelly-shop.at/ gekauft. Gleichzeitig habe ich mir auch zwei Shelly Door/Window2 Sensoren zugelegt. Bezahl per Vorauskassa und ein paar Tage später war alles geliefert. Hätte ich ein bisschen genauer gelesen, dann hätte ich bemerkt, dass bei den Sensoren keine Batterien dabei sind. Also wurden noch ein paar Panasonic CR123 Batterien bei Akku-Shop bestellt.

Shelly TRV: Hat einen eingebauten Akku, der über eine USB-C Schnittstelle geladen wird. Kein Kabel oder Ladegerät dabei, aber man hat ja genug herumliegen. Laut Anleitung soll man das device einmal 7 Stunden laden. OK, getan. Das Einrichten ist etwas trickreich. Der Reset Taster ist nur durch ein kleines Loch erreichbar, z.B. mit eine Büroklammer oder dem Handy-SIM Öffner. Wenn man länger drückt, dann schaltet der shelly in den Access Point mode und man kann sich mit dem WLAN verbinden. Danach im Browser auf 192.168.33.1 gehen und dort dann die Verbindung zum eigenen Netz einrichten. Meine Geräte bekommen auch noch einen eigenen Namen (Bei den MQTT settings: Use custom MQTT prefix), eine statische IP und natürlich die Verbindung zum MQTT Broker. Auch ein Update auf die aktuellste Firmware.

Achtung: Zuerst den Shelly ins eigene Netz bringen, dann mit dem Shelly Scanner schauen, was er für eine IP Adresse er vom DHCP bekommen hat dann eine statische IP vergeben. Beide Schritte auf einmal bringen das Gerät zum Absturz.

Das Trickreiche dabei ist, dass sich der Shelly immer wieder in den offline Modus versetzt, was ja im laufenden Betrieb sinnvoll ist. Wäre er permanent online, würde die Batterie nicht lange halten. So meldet er sich nur, wenn man z.B. die gewünschte Temperatur verstellt, oder er eine geänderte Temperatur feststellt. Beim Einrichten über die Weboberfläche ist das aber lästig. Musste immer wieder einmal den Reset Taster drücken, damit er wieder online geht. Zum Glück hatte ich Ihn zu diesem Zeitpunkt noch nicht am Radiator montiert gehabt.

Apropos montieren. Meine alten Thermostatventile der Firma Herz haben ein M28 Gewinde, der Shelly ein M30 und die beiliegenden Adapter passen nicht, daher musste ich mir noch ein Zwischenstück beim Hornbach besorgen.

Die Montage, wenn man einmal alles hat, ist einfach. Altes Ventil runter schrauben, Adapter rauf, shelly rauf, einschalten. Der Shelly macht am Anfang einmal eine Kalibrierung, d.h. er dreht das Ventil ganz auf und zu, kann man über das GUI auch anstoßen.

Die Anzeige am Gerät selbst war bei mir zuerst einmal verkehrt herum, hängt davon ab, auf welcher Seite der Anschluss am Radiator sitzt, kann man aber auch im GUI ändern.

Bin schon neugierig, wie lange der Akku hält, denn zum Laden brauch ich dann ein langes Stromkabel.

Nächster Schritt, wie immer das Anlegen im OpenHAB. Ich steuere die devices, soweit es geht, über MQTT. Daher wurde also ein neues MQTT thing angelegt mit channels für Info und Settings.

Thing topic shellyTRV1 "Shelly Thermostatventil Bad" @ "Bad" {
 Channels:
  Type string : shTRV1Info 
   [stateTopic="shellies/shellyTRV1/info"]
  Type string : shTRV1Settings 
   [stateTopic="shellies/shellyTRV1/settings",
    commandTopic="shellies/shellyTRV1/thermostat/0/command/settings"]
  Type number : shTRV1TargetTemp "shTRV1 Zieltemperatur"
   [stateTopic="shellies/shellyTRV1/info", 
    transformationPattern="JSONPATH:$.thermostats[0].target_t.value", 
    commandTopic="shellies/shellyTRV1/thermostat/0/command/target_t"] 
  Type number : shTRV1ExtTemp "shTRV1 Externe Temperatur" 
   [stateTopic="shellies/shellyTRV1/settings", 
    transformationPattern="JSONPATH:$.thermostats[0].temperature_offset", 
    commandTopic="shellies/shellyTRV1/thermostat/0/command/ext_t"] 
   Type number : shTRV1Temp "shTRV1 Temperature" 
    [stateTopic="shellies/shellyTRV1/info", 
     transformationPattern="JSONPATH:$.thermostats[0].tmp.value"]
   Type number : shTRV1Bat "shTRV1 Batterie Status"
    [stateTopic="shellies/shellyTRV1/info", 
     transformationPattern="JSONPATH:$.bat.value"]
   Type number : shTRV1Voltage    "shTRV1 Batterie Volt"
    [stateTopic="shellies/shellyTRV1/info", 
     transformationPattern="JSONPATH:$.bat.voltage"]
    }

Zum Einstellen (command topic) gibt es nur die gewünschte Temperatur und einen Offset zum Justieren. Ein externerTemperatursensor kann auch verwendet werden, dieser wird über einen http-request angesprochen. das macht Sinn, denn der interne liegt ja sehr nahe beim Heizkörper und misst daher eigentlich nicht ganz korrekt die Raumtemperatur.

Leider gibt es keine Möglichkeit dem shelly zu sagen, dass er jetzt seine Infos schicken soll. Als work around kann man die Soll Temperatur verstellen, dann schickt er die Info payload zurück.

Schön ist, dass man im Info topic wirklich viele Werte geliefert bekommt, die man sich dann nach Gebrauch rausfiltern kann.

Shelly Door/Window2: Wie gesagt, keine Batterien dabei. Er wird mit zwei CR123 betrieben. Das Einrichten funktioniert wie immer. Nach dem Einlegen der beiden Batterien schaltet sich der Sensor in den Access Point mode. D.h. mit dem Handy verbinden und sein eigenes Netz eintragen. Auch hier habe ich eine statische IP vergeben, aber dann ist nichts mehr gegangen. Das Herumprobieren hat mir einige Zeit gekostet, aber schlussendlich musste ich feststellen, dass der Sensor ein Problem mit einer statischen IP hat. Alles andere funktioniert, aber sobald man eine IP einträgt, hängt sich das Ding auf. OK, ein Türsensor ist mir hier nicht so wichtig, soll er halt seine IP über den DHCP bekommen, was solls. Auch hier gilt natürlich, dass der Shelly nicht immer online ist, nur wenn sich eine Änderung, z.B. Kontakt auf/zu ergibt, sendet er Daten. Es macht also Sinn, dass man alles einrichtet, solange der Sensor noch am Schreibtisch liegt. Denn wenn man ihn an die Tür klebt, dann kann es schon sein, dass man entweder die Tür auf und zu machen muss, oder wieder mit der Büroklammer in das kleine Loch fummeln muss, um den Sensor zu aktivieren.

Das Einrichten in OpenHAB als MQTT thing funktioniert wie immer. Die channels sind über verschiedene topics auszulesen (state, tilt, vibration, lux, battery, temperature, error). Interessant auch der topic act_reasons, der eine Liste mit Ursachen für das Senden der Infos schickt, z.B. [sensor] oder [periodic].

Nachdem der Sensor aber auch bei jeder Änderung das info topic schickt (ist nicht in der API Doku beschrieben), kann man dort alles rausholen, was man braucht.

Ich habe den Sensor auf bei der Terassentür im Einsatz. Durch den dickeren Rahmen konnte ich den Sensorteil nur am Türrahmen befestigen und den Magnetteil am Türflügel. Damit bekommt man keine Info über Motion oder Tilt, aber das brauche ich nicht. Ich will ja eigentlich nur wissen, ob dir Tür offen oder zu ist und dass man auch noch die Temperatur geliefert bekommt ist ein nettes feature.

So weit funktionier alles. Jetzt heißt es Regeln bauen, die diese Infos nutzen um den Badezimmerradiator zur richten Zeit aufzudrehen. Man möchte es ja schön warm haben in der Früh.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Begin typing your search above and press return to search. Press Esc to cancel.