Shoot yourrself into the Shelly

Grmpf. Ich habe die letzten Tage beim Basteln ein paar mal die Konfiguration des Shelly Plus i4 DC verloren, war einfach so weg. Keine Ahnung warum.

Heute ist mir bei einem Basteln mit einem anderen Shelly Plus i4 klar geworden, was da passiert: ein automatisierter Reset auf die Werkseinstellungen.

Beim i4 löst man einen Factory-Reset aus, in dem man den höchsten Eingang mehrfach schnell auf An zieht. Eigentlich sind die Dinger ja für Lichtschalter gedacht und da passiert das in der Geschwindigkeit eher nicht. Es hämmert ja niemand per Dauerfeuer auf einem Lichtschalter rum. Na gut, Kleinkinder vielleicht wenn sie die Sache mit dem Lichtschalter entdecken.

Aber eine Wasseruhr bekommt das hin, wenn da pro Liter ein Impuls kommt. Und in so eine Toilettenspülung gehen ein paar Liter rein; und schon geht die Konfiguration in die Kanalisation.

Also nicht Eingang 4 nehmen. Oder in der Konfiguration den externen Factory-Reset abschalten. Aber dann bekommt man ihn extern nicht mehr zurückgesetzt; auch doof.

IMG 1703

Wasser- & Gasverbrauch in Home Assistant

Ich wollte meinem Home Assistant noch das Messen des Wasser- und Gasverbrauches beibringen. Wie immer, wenn man es fertig hat, ist es im Kern einfach; aber der Weg war etwas beschwerlich. Daher hier mein funktionierendes Setup.

Komponenten:

Die Abnehmer kann man auch preiswerter machen, aber insbesondere der für die Wasseruhr sitzt mechanisch stabil auf drauf. Kein Wackeln, kein Kleben, … einfach draufstecken und er rastet auf diesen Zapfen ein.

 

IMG 1534

IMG 1698

Der Gas-Abnehmer hat nur zwei Kontakte, bei dem Wasserabnehmer braucht man Weiß und Braun, der Rest kann weg.

 

IMG 1525

IMG 1691Beim Tasmota-Shelly müssen die Eingänge auf Switch_n stehen. Die beiden Abnehmer habe ich an Eingang 1 und 4 dran:

Bildschirmfoto 2023 11 04 um 07 09 49Bildschirmfoto 2023 11 04 um 07 10 02

Die Konfiguration als Switch erzeugt zwei Signale: Schalter an und Schalter aus, jedesmal wenn der Reed-Kontakt ein Signal sendet. Das zweite Signal kann man im HA einfach ignorieren. Die Konfiguration als Button wäre eigentlich korrekter, aber Buttons in HA sind umständlich, da die nicht als Entität in den Automatisierungen auftauchen; warum auch immer.

IMG 1696

Beim Tasmota-Shelly läuft die Datenübertragung per MQTT an den Home Assistant:

Bildschirmfoto 2023 11 04 um 22 29 44Jetzt braucht es noch etwas Konfiguration im Home Assistant. Für Gas und Wasser wird je eine Automatisierung benötigt: wenn der Schalter sich öffnet, muss ein Zähler erhöht werden; wir zählen die Impulse.

Bildschirmfoto 2023 11 04 um 20 47 41

Die Zähler für Gas und Wasser legt man als Helfer an:Bildschirmfoto 2023 11 04 um 20 48 54

In der Automations.yaml sieht das dann so aus:

- id: ‚1698295769848‘

  alias: WasserUhrEvent

  description: WasserUhrEvent

  trigger:

  - platform: state

    entity_id:

    - binary_sensor.energo_switch1

    from: ‚off‘

    to: ‚on‘

  condition: []

  action:

  - service: counter.increment

    data: {}

    target:

      entity_id: counter.wasserzahler

  mode: single

- id: ‚1698295894472‘

  alias: GasEvent

  description: GasEvent

  trigger:

  - platform: state

    entity_id:

    - binary_sensor.energo_switch4

    from: ‚off‘

    to: ‚on‘

  condition: []

  action:

  - service: counter.increment

    data: {}

    target:

      entity_id: counter.gaszaehler

  mode: single

Jetzt müssen wir uns noch Sensoren basteln, damit diese in Diagrammen und im Energie-Dashboard verwendet können. Die werden in der Configuration.yaml erzeugt:

template:

  - sensor:

    - name: „Sensor_Gas_m3“

        unit_of_measurement: „m³“

        device_class: gas

        state_class: total_increasing

        state: >

          {% set gas = states('counter.gaszaehler') | int %}

          {{ ((gas) * 0.01) | round(1, default=0) }}

  - sensor:

    - name: „Sensor_Gas_kwh“

        unit_of_measurement: „kWh“

        device_class: energy

        state_class: total_increasing

        state: >

          {% set kwh = states('sensor.Sensor_Gas_m3') | float %}

          {{ ((kwh) * 10.48) | round(1, default=0) }}

- sensor:

    - name: „sensor_Wasser_L“

        unit_of_measurement: „L“

        device_class: water

        state_class: total_increasing

        state: >

          {% set water = states('counter.wasserzahler') | int %}

          {{ ((water) * 1) | round(1, default=0) }}


Die Umrechnungswerte sind bei mir pro Impuls 0,01 qm Gas und pro Liter Wasser. Der Brennwert des Gases findet sich auf der letzten Gas-Rechnung und unterscheidet sich von Netzbetreiber zu Netzbetreiber. Bei uns sind es 10,48.

Danach lassen sich dann Diagramme definieren:

Bildschirmfoto 2023 11 04 um 20 54 08

Und auch im Energiedashboard aufnehmen:

Bildschirmfoto 2023 11 04 um 20 54 57

Home Assistant und Vaillant

Das Einbinden einer Vaillant ArothermPlus in den Home Assistant ist im Kern trivial:

  1. HACS im Home Assistant installieren
    1. https://hacs.xyz/
  2. Die myPyllant Komponente von SignalKraft installieren
    1. https://github.com/signalkraft/mypyllant-component
  3. Die Anmelde-Daten von der myVaillant App benutzen

Danach bekommt man diverse Messwerte der Wärmepumpe in den Home Assistant gespült: Energieverbräuche für Heizung und Warmwasser, Umweltgewinne, … aber auch viele Anlageneigenschaften wie aktueller Wasserdruck oder die hinterlegten Konfigurationen (Heizkurve, …).

Zur Installation braucht man allerdings eine native Home Assistant Installation, keine die im Docker läuft.

Bildschirmfoto 2023 11 04 um 06 39 01

Leider dokumentiert Vaillant die API nicht offiziell, sodaß Signalkraft mittels myVaillants Android-App und MITM-Proxies den Datenverkehr beobachtet um zu sehen, was da passiert.

Wer die Integration am Laufen hat, kann helfen, indem er seine Anlagenkonfiguration mittels Testscript ausliest und hochlädt:

  • https://signalkraft.com/mypyllant-component/3-contributing/#contributing-to-the-underlying-mypyllant-library

Asustor umbenennen

So ein dämlicher Bug. Ich habe bei einem Ausstor den Hostnamen geändert. Leider waren die MDNS-Ankündigungen danach immer noch auf den alten Namen. Das Asustor-OS vergisst einfach den Eintrag in der entsprechenden Config-Datei zu ändern.

Ich habe bestimmt eine halbe Stunde gesucht, bis ich endlich den Order gefunden habe, wo Asus die Avahi-Konfigurationsdateien versteckt:

/volume0/usr/builtin/etc/avahi

Wieso lassen die die Datei nicht da, wo sie hingehört? 

Home Assistant und Vaillant VR921

Ich habe unsere Vaillant Heizung über das VR921 Internet-Modul in den Home Assistant eingebunden bekommen:Bildschirmfoto 2023 09 19 um 22 09 58

Bis dato hatte ich den Home Assistant als Docker-Container auf meinem Raspi laufen (der auch Pi-Hole etc macht). Aber das Vaillant-Plugin ist nicht in der HA-Standard-Distribution und damit auch nicht im Container enthalten.

Es gibt bei Github das myVaillant Plugin (https://github.com/signalkraft/mypyllant-component#readme) welches, man über HACS (Home Assistant Community Store) installieren kann. Aber auch der HACS ist nicht im Container drin. Und einen neuen Container zu bauen und zu pflegen war mir zu viel Arbeit.

Also habe ich einen zweiten Raspi genommen, die native HA-Distribution geladen und konnte dann das HACS und das myVaillant Plugin installieren. Das lief völlig problemlos und bringt wirklich viele Entitäten in das System:

Bildschirmfoto 2023 09 19 um 22 17 15

Der einzige Krampf war, aus dem Container die ganzen Messwerte zu holen und in die native Installation zu bekommen. Ich wollte ja nicht die gesamte Historie (Stromverbrauch, …) verlieren. Das ging dann aber auch irgendwann. HA hat eine Backup-Funktion, die das Backup-Archiv dann aber irgendwo lassen muss. Und dann wollte die native Installation das Backup nicht restoren und brach immer ab. Nach dem x-ten Versuch und diversen SW-Updates ging es dann trotzdem.

Das Plugin geht an die API von Vaillant ran, daß heißt, die Daten gehen über das VR921 erstmal raus und kommen dann wieder rein. Im Kern Quatsch, aber einfach einzurichten. Die Vaillant-App stört sich nicht dran, daß da noch jemand mitlauscht.

Das nächste Vorhaben ist jetzt die lokale Anbindung über den eBusD. Dafür liegt hier schon der Adapter (https://adapter.ebusd.eu/).

Wenn das klappt, bekommt die Lüftungsanlage Vaillant Recovair auch noch einen ebus-Adapter verpasst. Die Recovair dürfte im Kern langweilig sein, da gibt es nicht nur wenige Sensoren und noch weniger Aktoren. Aber: Because we can.

Bis dato macht sich die Wärmepumpe nicht großartig im Stromverbrauch (gemessen mit dem Shelly 3EM) bemerkbar:

Bildschirmfoto 2023 09 19 um 22 26 48

Warten wir mal ab, wie das im Winter wird.

Infrarot Photographie

Infrarot-Bilder von der Sanddüne in Großenkneten:

2023 09 02 08 35 29

Aufgenommen mit einer Vollspektrum Sony A7 M1, dem Sony 20mm F1,8 (SEL20F18G) und einem B+W 590er Filter. 

2023 09 02 09 40 51 2

Das Sony 20 mm scheint mir keine Infrarot-Hotspots oder ähnliches zu haben; bei direktem Gegenlicht findet sich etwas Ghosting, aber nur wenig.

Capture One Panorama Stitching

Ohne Stativ, Blendenautomatik, einfach so aus der Hand mit dem 20 mm Objektiv die Einzelbilder geschossen und im Capture One zusammengeklebt.

Ich kann immer wieder staunen, wie gut das geworden ist. Vor 15 Jahren hat man da eine Stunde dran rumgebastelt, am besten ein Stativ Pano-Kopf benutzt, manuelle Belichtung, … braucht man alles nicht mehr.

Einfach losknipsen; die SW wird das begradigen, die Helligkeit anpassen, …

2023 09 02 10 08 40 Panorama

Krolop & Gerst: Die große Sensorstrecke – mit Hans Schlüter

Krolop & Gerst hat vor Jahren mal die beiden Objektivstrecken gemacht. Die haben viele Objektiv-Themen sehr ausführlich erklärt, manchmal etwas schwafelig aber trotzdem sehenswert.Bild 27 08 23 um 13 31Jetzt hat Krolop & Gerst die gleiche Nummer über die digitale Bilderfassung gemacht: der Weg des Lichtes vom Auftreffen auf den Sensor bis etwas auf dem Bildschirm angezeigt wird. Nicht komplett; einige Themen wie Jpeg, … fehlen. Aber trotzdem interessiert. Das ist alles nicht wirklich neu, aber es ist sehr gut erklärt.Bild 27 08 23 um 13 32

Fast acht Stunden lang, Zeichnungen, etwas Python-Code (nur zeigen, nicht machen), … 

Irgendwann wird die Reihe häppchenweise auch mal bei YouTube kommen, ich finde aber, der Kurs ist das Geld wert. Einfach im Shop kaufen, runterladen und in Ruhe ohne Unterbrechungen und so anschauen.

eMail Sicherheit

Das eMail-Diagnose-Tool der EU kannte ich noch gar nicht; ist mir irgendwie entgangen: klick. Ich finde das gut gemacht, es schickt einem eine eMail auf die man antworten muss. Dadurch sieht das Tool aus- und einkommenden Verkehr und kann sich beides anschauen. Gute Idee.

Nur der Name „My Email Communications Security Assessment (MECSA)“ ist etwas lang und schlecht zu merken.

Nachdem ich etwas Fine-Tuning für SPF und DANE gemacht habe, ist das auch alles gut:

Bild 08 08 23 um 20 02

Es kann auch noch mehr Details anzeigen und auch erklären wie es die Bewertung vornimmt:Bild 08 08 23 um 20 00

MTA-STS bekomme ich nicht hin. Dafür braucht man eine eigene Subdomain, für die kann ich bei meinem Hoster aber kein Zertifikat erzeugen und daher kein HTTPS machen. Und dafür jetzt Geld für ein zusätzliches Zertifikat auf den Tisch legen, habe ich auch keine Lust.