Michaels Bastelstunde für Gas- und Wasserzähler

Einen virtuellen Sensor mit der “Virtual Devices” app anlegen.

grafik

Dann bei Änderung der Variable den Sensor aktualisieren.
Also erst Kontaktsensor → Variable:
grafik

Dann Variable->virtueller Sensor:
grafik

Hm,
irgendwas will nicht :confused:
Hab alles (eigentlich) so gemacht wie oben, zählt aber nicht hoch.



gas22

Und der Sensor wechselt auch den Zustand beim Heizen?
Bei Warmwasserbereite. kann man besser testen. Bei nur Heizung genügt der kurze Heizlauf meist nicht für einen Zählerwechsel.

Ich habe den noch auf dem Tisch liegen :wink:

Setz die Variable mal auf eine ganzzahligen Wert. Vllt. stört das Komma und müsste ein Punkt sein.

ich hab mal die Variable auf 100 gesetzt - und 1 als additionswert - auch nix

Starte mal parallel zum Bewegungs-Trigger mit dem Startbutton. Die Frage ist: Löst der Tigger nicht aus oder funktioniert die Berechnung nicht.

1 Like

Das mit dem Start war ne gute Idee - habe nochmal eine neue Variable erzeugt und dann verlinkt.
Jetzt klappts - Danke

1 Like

Jetzt macht mir doch noch der Schwaiger (Vision) Fensterkontakt einen Strich durch die Rechnung.
Der externe Kontakt arbeitet nicht so wie ich dachte - wenn ICH schon mal denke.
Wenn man den ext.Kontakt aktiviert, muß zusätzlich der Magnetkontakt auch geschlossen sein.
Wo ich an den ext. einen Glasbruchsensor angeschlossen hatte - war es logisch.
Wenn Fenster zu und zusätzlich Glasbruch kam - Alarm!
OK, werd wohl den Reedkontakt auslöten und die Kabel für den neuen direkt anlöten, anders ist es mir zu unsicher.

Schau mal, ob man die Aktivierung in den Geräteeinstellungen umkehren kann.
Ansonsten ja, Kabel direkt anlöten wäre gut. Habe ich bei den Aqara-Sensoren auch gemacht.

Sieht nicht so aus, als wenn man noch Parameter setzen kann …
Manual - Vision

Moin,
Projekt Gaszähler fertig:
1x SCHWAIGER -ZHS09 = 14€ (Amazon)
1x Magnetkontakt = 7€ ebay

  • doppelseitiges Klebeband

Habe den Sensor und Fensterkontakt nur mit doppelseitigem Klebeband angeklebt
(also jederzeit in paar Sekunden demontierbar).
Im Fensterkontakt habe ich den Reedkontakt nicht ausgelötet sondern am Glaskörper abgekniffen und die beiden Rest-Enden hochgebogen und als Lötstifte benutzt. So muß man nicht die Platine erhitzen um den Kontakt rauszubekommen. (eigenlich könnte der auch drin bleiben :wink:)
Der Impuls ist schön lang und an dem FensterSensor (LED) sehr gut zu erkennen. :+1:
Super, Danke für die Hinweise :raising_hand_man:


4 Likes

Wenn ich jetzt noch den Zählerstand auf meine InfluxDB kriegen würde, wäre ich schon froh.
Habe das aber noch nicht hinbekommen - stelle mich wohl zu blöde an. :roll_eyes:

Per mqtt? Ich übertrage alles aus Homey an den mqtt Server, ob das mit virtuellen geht weiß ich leider nicht.

Moin,
es geht auch einfacher, ich nutze die Influxdb-App von homey und exportiere die Daten jede Minute in eine eigene “homeydb”. (hatte bei meinen ersten Versuchen ein Fehler in der Anmeldung, darum sind keine Daten in die DB gelaufen)
Ich habe noch einen kleinen PC (Dell Wyse 5070) mit dem IOBroker zu laufen.
Dort logge ich z.B. Daten von OpenDTU, Viessmann, Ölfox in eine InfluxDB und stelle das in Grafana grafisch dar. Das funktioniert eigentlich sehr gut. Der PC benötigt nur unwesentlich mehr Strom wie ein Raspi 4. Das Gute dabei, der IObroker macht gleich ein Backups von allen InfluxDBs und Grafana-Dashboards und schiebt diese auf mein NAS.
Ich muß aber noch etwas basteln bei Grafana damit der Verbrauch tagesweise angezeigt wird.
Ist (für mich) etwas schwierig weil homey die Datenpunkte mit untermenüs also Unterpunkte anlegt

SELECT mean("meter_gas") FROM "hm_Ergaszähler" WHERE $timeFilter GROUP BY time(1m)

aber das führt hier zu weit :wink:

Grüße

Nur ein Hinweis…
Wenn ihr nur einzelne Werte in eine NAS-DB exportieren wollt, dann geht das ggf. auch über die MySQL-App.

Danke Friedhofsblond, die App kannte ich gar nicht!

Frage, kann ich einzelne Werte anwählen, die übertragen werden sollen?
Geht IDB 1.8 und IDB2.0 ?

Bin neugierig, habe aber erst am Freitag zugriff auf den Homey :wink:

Meinst Du Influx 1 / 2 ?
Für Influx1 die normale App für Influx2 die Test-App.

Frage, kann ich einzelne Werte anwählen, die übertragen werden sollen?

Nein leider nicht, es werden alle Datenpunkte übertragen die gehen.
Es werden leider auch Flows als Datenpunkt exportiert. Es bringt auch nix die aus der DB zu löschen - wird wieder neu gesetzt. - Vielleicht wird das mal in der finalen-Version gemacht.
Das ist im Iobroker besser gelöst. - Irgenwann müllt man sich die ganze DB zu …
Ich nutze die Version 2 und Test-App:

Um zu verhindern, dass sich ein bucket “zumüllt” nutzt man das Verfahren des “downsamplens”. Das bedeutet nicht anderes als, dass man sein homey_bucket" mit einer Löschfrequenz von z.B. 7 Tagen in Influx per Setting definiert aber zuvor nur die tatsächlich gewünschten Daten in ein anderes bucket per copy sichert. Dies erledigt man per influx task voll automatisiert. Vorteil: Man speichert nur die tatsächlich benötigten Daten in der Datenbank.

Das automatisiertes Löschen des Quell-bucket hier homey_bucket konfiguriert man in Influx hier:

Um natürlich seine gewünschten Daten nicht zu verlieren muss man zuvor “downsample”.

Den Copy Task in das homey-downsample bucket trägt man hier ein, dieser läuft hier jede Minute:

option task = {name: "kWh_main_devices", every: 1m, offset: 5m}

from(bucket: "homey_bucket")
    |> range(start: -task.every)
    |> filter(
        fn: (r) =>
            r["_field"] == "meter_power" or r["_field"] == "measure_power" or r["_field"]
                ==
                "meter_kwh_this_day",
    )
    |> filter(
        fn: (r) =>
            r["_measurement"] == "Gartenhaus" or r["_measurement"] == "Gosund-HW-Licht-Spuele"
                   or
                r["_measurement"] == "Shelly-Heizung-HW-PBTH",
    )
    |> to(bucket: "homey-downsample", org: "homey_org")

Die filter kann man nun um die gewünschten devices erweitern.

1 Like

Moin,
oh toll Du scheinst was zu wissen :wink: :+1:.
Ich bin meist nur der Copy+Paste-User :stuck_out_tongue_winking_eye:

Ja, ich habe bewußt erstmal alles auf “never” gestellt. :slightly_smiling_face:
Wir haben ja im homey den Fall, das immer das komplette Gerät mit allen Unterwerten in die DB geschrieben wird.

Im IOBroker ist das besser gelöst, man kann bis in den letzten Unterzweig DEN Wert suchen der in die Influx läuft (gelb markiert,)
Beispiel OpenDTU:

Hier noch alle möglichen Einstellungen (Aliases usw.) wie der Datenpunkt in die DB exportiert werden soll.:

Das wäre schööööön. :star_struck:
Aber trotzdem erstmal Danke - wenn ich mir das so ansehe was da nach ein paar Tagen zusammenkommt… :roll_eyes:

1 Like