FHEM Forum

FHEM - Entwicklung => FHEM Development => Thema gestartet von: optimizer am 22 November 2014, 21:56:07

Titel: vzlogger und FHEM?
Beitrag von: optimizer am 22 November 2014, 21:56:07
Hallo,

seit langem benutze ich im Volkszähler (VZ) Projekt das Programm vzlogger zum Auslesen meines Stromzählers mit anschliessender Speicherung in der VZ-DB. Dabei ist mein Raspi regelmäßig ausgestiegen und musste hart ausgeschaltet und die Boot-Partition der SD-Karte neu aufgespielt werden.
Seit ich FHEM neu auf dem Raspi (ohne DB) installiert habe, läuft alles ohne Probleme.
Obwohl es das VOLKSZÄHLER Modul schon gibt, frage ich mich ob es nicht besser und einfacher wäre, die Ergebnisse von vzlogger direkt (und ohne Umweg über die VZ-DB) von FHEM zu übernehmen.
vzlogger läuft normalerweise im Hintergrund deshalb sehe ich folgende Möglichkeiten:
a) Erweiterung vzlogger mit neuem Ausgabeprotokoll "file", zum anschliessenden Auswerten der Zählerausgabe in FHEM.
b) Erweiterung vzlogger mit neuem Ausgabeprotokoll "FHEM", zum direkten posten der Readings in FHEM - geht das?
c) regelmäßiger Aufruf vzlogger im Vordergrund und Abwarten der Zählerantwort - das kann manchmal etwas länger dauern. Gibt es hier auch so etwas wie einen NonBlockingMode?

Was meint ihr?

Gruß
optimizer
Titel: Antw:vzlogger und FHEM?
Beitrag von: rudolfkoenig am 23 November 2014, 10:07:26
a) ist entweder beschraenkt oder kompliziert, je nachdem was/wie man implementiert.
b) prinzipiell ja, ist aber fummelig, weil man sowohl in vzlogger wie in FHEM etwas konfigurieren muss.
c) man koennte das Programm mit der FHEM Hilfsfunktion BlockingCall starten.

Allerdings liest das VOLKSZAEHLER Modul (wenn ich den Code richtig interpretiere) keine DB aus, sondern kontaktiert den Zaehler direkt ueber HTTP, was eine deutlich bessere Methode ist, als alle Vorschlaege. Man koennte hoechstens mit der FHEM Funktion HttpUtils_NonblockingGet Verzoegerungen vermeiden, wenn das ein Problem sein sollte.
Titel: Antw:vzlogger und FHEM?
Beitrag von: optimizer am 24 November 2014, 00:10:32
das VOLKSZAEHLER Modul greift auf das HTTP-API der VZ-Middleware und die darunterliegende SQL-DB zu (<host>..."/middleware.php/data/..."). Voraussetzung dafür sind Daten aus dem vzlogger an dem ich auch etwas mitgewirkt habe.
Gibt es ein FHEM-Funktion/API um Daten/Readings von aussen zu erzeugen?
Man kann die vzlogger Funktion in Perl nachbilden, wie es mit dem SMLUSB Modul versucht wird, oder eine gemeinsame Lösung finden.
Titel: Antw:vzlogger und FHEM?
Beitrag von: rudolfkoenig am 24 November 2014, 07:56:28
API ist uebertrieben, aber man kann via TCP (aka telnet) oder HTTP das Befehl setreading absetzen.
Einfacher fuer den Benutzer waere mAn, wenn das FHEM-Modul ohne ein externes Programm auskommt.