Erste Schritte - HKVs auslesen

Begonnen von claudio-fhem, 17 Juli 2019, 11:00:48

Vorheriges Thema - Nächstes Thema

claudio-fhem

Hallo zusammen!

Ich mache gerade meine ersten Versuche mit fhem und arbeite mich durch die Dokumentation. Setup bisher: Ein Raspi 2 mit Raspbian Buster und fhem (easy way Installation, Betriebssystem und fhem gestern frisch upgedated und neu gestartet).

Derzeit habe ich noch kein USB-Device (nanoCUL ist bestellt), daher (?) hängt fhem nach einem Neustart ("Probing" von diversen Devices, 100% CPU, kein Zugriff auf WebGUI), aber ein Neustart via SSH bringt die WebGUI zum Leben.

OK, ich möchte als erste Übung ein paar Heizkostenverteiler auslesen, diese habe ich nach der Doku angelegt, z.B.:

define T TechemHKV 1234 Treppe

https://wiki.fhem.de/wiki/TechemHKV
https://wiki.fhem.de/wiki/Erste_Schritte_in_FHEM#R.C3.A4ume_definieren


Richtige 4-stellige Nr. habe ich aus der Abrechnung.

Danach habe ich die HKVs zu rooms zusammengefasst, wie in "Erste Schritte" beschrieben.

Jetzt wollte ich einen log file für diesen HKV "T" wie "Treppe" anlegen, mit:

define T_log FileLog /opt/fhem/log/T-%Y-%m.log T

https://wiki.fhem.de/wiki/FileLog
https://fhem.de/commandref.html#FileLogdefine

und ich bekomme in der WebGUI unter FileLog angezeigt:

Internals
CFGFN

DEF                              /opt/fhem/log/T-%Y-%m.log T
FD                               12
FUUID                         5d2eddf9-f33f-d504-95ab-85a72aa4a86f9749
NAME                         T_log
NOTIFYDEV              T
NR                              209
NTFY_ORDER          50-T_log
REGEXP                    T
STATE                         active
TYPE                          FileLog
currentlogfile           /opt/fhem/log/T-2019-07.log
logfile                        /opt/fhem/log/T-%Y-%m.log


Ist das so korrekt, um alle readings aus dem HKV (also current, previous, temp1 und temp2) zu loggen?

https://wiki.fhem.de/wiki/TechemHKV

Sollte Ich für das logging (neben der 16 GB SD-Karte für raspbian und fhem) einen USB-Stick mounten, weil mir sonst die Karte mit den logs nach ein paar Wochen volläuft?

Wie könnte ich alle Werte nur einmal pro Stunde (und den previous gar nicht) loggen?

Tausend Dank vorab!
Vielen Dank und Grüße!

claudio

cs-online

Hallo,

zu 1. Du kannst die USB-Erkennung ausschalten, indem du in der fhem.cfg das hier suchst

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


und vor das define ein # machst dann shutdown restart in die Kommandozeile für Neustart

zu 2. wenn du ein Device angelegt hast, geht ein LOG anzulegen mit createlog <Devicenamen> recht einfach

Grüße

Christian
FHEM auf RPI 4 4GB, HM-WLAN-Gateway, einige HM-Aktoren,2x EBUSD an Heizung+Solar, ESP8266/32 am Strom-,Gas-,Wasserzähler, in WLAN-Steckdosen und Relaisleisten, Sonoff S20+S26,Shelly1/2/2.5, Lacrosse-Gateway und Sensoren,Sduino,Alexa-Fhem,Huawei PV+Speicher, alles auf einem RPI und da geht noch mehr

CoolTux

Zitat von: cs-online am 17 Juli 2019, 12:33:30
Hallo,

zu 1. Du kannst die USB-Erkennung ausschalten, indem du in der fhem.cfg das hier suchst

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create


und vor das define ein # machst dann shutdown restart in die Kommandozeile für Neustart

zu 2. wenn du ein Device angelegt hast, geht ein LOG anzulegen mit createlog <Devicenamen> recht einfach

Grüße

Christian

Da er ja nun Zugriff auf das WebGui hat macht er es natürlich nicht.
Finger Weg von der Konfigdatei bitte. Statt dessen lernst Du den Umgang mit der GUI.
list initialUsbCheck
zeigt Dir das Gerät. Ist ja im Grunde ein Notify. Du klickst auf den Namen und kommst in die Details. Da kannst Du dann auf Status disabled oder so mittels set setzen.
Bei Fragen einfach fragen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

claudio-fhem

Danke für die Antworten!

Das Problemchen ist ja, dass keine WebGUI verfügbar ist nach Reboot, weil fhem nach Devices auf AMA0 sucht, hier ein log nach dem Reboot

2019.07.16 16:20:41 1: Including fhem.cfg
2019.07.16 16:20:42 3: WEB: port 8083 opened
2019.07.16 16:20:42 2: eventTypes: loaded 0 events from ./log/eventTypes.txt
2019.07.16 16:20:42 1: Including ./log/fhem.save
2019.07.16 16:20:42 1: usb create starting
2019.07.16 16:20:43 3: Probing ZWDongle device /dev/serial0
2019.07.16 16:20:43 3: Probing CUL device /dev/ttyAMA0
2019.07.16 16:20:43 3: Probing TCM_ESP3 device /dev/ttyAMA0
2019.07.16 16:20:43 3: Probing ZWDongle device /dev/ttyAMA0
2019.07.16 16:20:43 3: Probing SIGNALDuino device /dev/ttyAMA0
2019.07.16 16:20:44 3: Probing MYSENSORS device /dev/ttyAMA0
2019.07.16 16:20:44 3: Probing ArduCounter device /dev/ttyAMA0
2019.07.16 16:20:44 3: Probing ElsnerWS device /dev/ttyAMA0
2019.07.16 16:20:45 3: Probing FRM device /dev/ttyAMA0


CPU hängt bei 100% wegen perl/fhem und WebGUI nicht erreichbar.

Bei mir gibt

list initialUsbCheck

Internals:
   DEF        global:INITIALIZED usb create
   FUUID      5d2368d9-f33f-d504-df40-cc6857297aab595c
   NAME       initialUsbCheck
   NOTIFYDEV  global
   NR         13
   NTFY_ORDER 50-initialUsbCheck
   REGEXP     global:INITIALIZED
   STATE      2019-07-16 16:53:00
   TRIGGERTIME 1563288780.03696
   TYPE       notify
   READINGS:
     2019-07-16 16:53:00   state           active
Attributes:


Was könnte ich das disablen?
_________________

Wegen der logs:


https://fhem.de/commandref.html#createlog


...verrät nicht viel dazu, da die Techem HKV manuell angelegt werden, bräuchte ich einen Hinweis, wie ich die logs korrekt anlege. Ist der Weg über "define ... LogFile..." komplett falsch?
Vielen Dank und Grüße!

claudio

CoolTux

Sorry aber das verstehe ich nicht. Wenn Du das list machen konntest dann bist Du doch im FHEM GUI.


Internals:
   DEF        global:INITIALIZED usb create
   FUUID      5d2368d9-f33f-d504-df40-cc6857297aab595c
   NAME       initialUsbCheck
   NOTIFYDEV  global
   NR         13
   NTFY_ORDER 50-initialUsbCheck
   REGEXP     global:INITIALIZED
   STATE      2019-07-16 16:53:00
   TRIGGERTIME 1563288780.03696
   TYPE       notify
   READINGS:
     2019-07-16 16:53:00   state           active
Attributes:


Hinter NAME steht ja initialUsbCheck das ist ein Link. Klick drauf und du kommst in die Detailansicht. Hier kannst du glaube set inactive setzen. Das sollte reichen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

claudio-fhem

Aus meinem 1. Post:

ZitatDerzeit habe ich noch kein USB-Device (nanoCUL ist bestellt), daher (?) hängt fhem nach einem Neustart ("Probing" von diversen Devices, 100% CPU, kein Zugriff auf WebGUI), aber ein Neustart via SSH bringt die WebGUI zum Leben.

Also fhem einmal stoppen und starten, dann habe ich eine GUI

Hinter initialUsbCheck ist ein "Change Wizard", dort kann ich "set initialUsbCheck" auf "inactive setzen, die Einstellung wird nicht übernommen, wenn ich wieder auf dem selben Weg in das Menü gehe, ist "initialUsbCheck" wieder "active"...

Wichtiger sind mir aber eigentlich dir Fragen, wie ich ein Logging für die Techem HKVs hinbekomme. Das mit dem USBcheck sollte ja Ruhe geben, sobald der nanoCUL installiert ist, oder?
Vielen Dank und Grüße!

claudio

Beta-User

1. Lösche das Device initialusbcheck einfach... Du brauchst es nicht, es stört nur... (und vergiß das save nicht)

2. Solche "Trockenübungsthreads" bringen niemandem was. Warte, bis du den CUL hast, im richtigen Modus betreibst und lies ggf. in der Zwischenzeit einfach die vorhandene Doku, z.B. https://wiki.fhem.de/wiki/Quick-Start.
Wenn der CUL dann da ist, lies nochmal von vorne, nimm die commandref dazu zu den Modulen, die du benötigst und versuche die erforderlichen Schritte auf deine konkrete Situation zu übertragen.

Dann siehst du, was jeweils passiert (oder eben auch nicht...).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

claudio-fhem

Kurze Frage, kurze Antwort: Wird das Logging funktionieren, so wie ich es angefangen habe oder nicht?

Danke vorab! :-)
Vielen Dank und Grüße!

claudio

Beta-User

Zitat von: claudio-fhem am 17 Juli 2019, 15:43:23
Kurze Frage, kurze Antwort: Wird das Logging funktionieren, so wie ich es angefangen habe oder nicht?

Danke vorab! :-)
Wenn du die Doku gelesen hättest, müßtest du wissen, dass das darauf ankommt, welche Events generiert werden und ob dann der Eventhandler (das FileLog-Device) entsprechend eingestellt ist.

Es ist und bleibt eine unnötige Trockenübung, jedenfalls ich bin nicht in der Lage, das ohne Auszüge aus dem Eventmonitor oder wenigstes eines lists eines Devices, das auch echte Reading hat zu beantworten.

=> ich bin solange raus... (und vermutlich alle anderen auch.)
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

claudio-fhem

Ich habe den Abschnitt zu Events gelesen, aber kann mir darunter im Zusammenhang mit einem HKV nichts vorstellen. Bei einem Schalter oder einer Fernbedienung: Klar!

Aber wie soll das im Zusammenhang mit einem HKV funktionieren?

So ein bisschen habe ich schon die letzten Jahre mit pilight Hausautomatisierung gemacht, aber dieses Konzept "Event" für einen Fühler (Wärmeeinheiten, berechnet aus 2 Temperaturen) erschließt sich mir nicht, deshalb frage ich im Forum. War bisher kein Problem irgendwo ein inhaltliche Frage zu stellen, wenn man mit der Dokumentation nicht weiter kommt... :-)
Vielen Dank und Grüße!

claudio

Beta-User

Jetzt ist die Frage auch etwas anders, daher nochmals etwas Theorie...

Im Prinzip ist jede Info, die von irgendwoher über ein "Interface" (wie den CUL) kommt und dann bei einem Client-Gerät des Interfaces "abgeladen wird"  ein "Event" - ganz egal, um was für eine Info es sich handelt. Willst du loggen, muß das Event genutzt werden, um das "schreibe ins log" auszulösen.

Welche Events jeweils abgegriffen werden, wird mit Regex festgelegt.

Also: Ohne das "live" gesehen zu haben, ist es weiter eine unnötige Fragerei. Im Prinzip wird das funktionieren, ob es im Detail klappt, ist eine Frage, ob es Events gibt (der jeweilige Modulautor kann bestimmen, wann es Events gibt...) und wie jeweils die Regex des Eventhandlers aussieht. That's all.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

claudio-fhem

ZitatWillst du loggen, muß das Event genutzt werden, um das "schreibe ins log" auszulösen.

Aha, prima, danke, habe verstanden. Dann muss ich jetzt also herausfinden, wie man dieses "schreibe in's log" triggert. ;-)
Vielen Dank und Grüße!

claudio

Beta-User

Zitat von: claudio-fhem am 17 Juli 2019, 16:52:38
Aha, prima, danke, habe verstanden. Dann muss ich jetzt also herausfinden, wie man dieses "schreibe in's log" triggert. ;-)
Gar nicht. Du definierst ein passendes Log-Device.... Ganz so wie im ersten Post beschrieben - wobei mir die Namensgebung da etwas sehr "na ja" vorkommt. Etwas sprechender wie "T" dürfen Devices schon benannt werden, oder nicht? Anmerkdung dazu: Die Doku arbeitet mit Beispielen, die sind oft kurz und prägnant, aber häufig nicht für copy/paste gedacht, sondern zum Anpassen an die eigene Situation auf Basis eines bereits vorhandenen Grundverständnisses.

Btw.: Es könnte sein, dass das Device schon durch autocreate automatisch samt zugehörigem FileLog-Device erstellt worden wäre. Damit sind wir wieder beim Anfang dessen, was ich bereits geschrieben habe: Ohne dass man selbst sieht, was ggf. geschieht, fragt man Fragen, die bereits beantwortet sind und jeder, der dazu was schreibt, schreibt sich die Finger fusselig, ohne dass man einen Schritt weiter ist...

ALSO: GEDULD, bis der CUL da ist ;D . Meine Güte...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

claudio-fhem

Geduld? Du hast Nerven, soviel Zeit habe ich nicht mehr :-D

Die Techem HKV sind manuell zu erstellen (ich habe mich durch die 3-4 Threads im Forum durchgelesen, ja, ganz, von Anfang bis Ende, aber halt nicht ALLES verstanden, da ich die Logik hinter fhem erst so langsma durchsteige). Daher wird wohl auch kein Log automatisch erstellt. Meine manuell erstellten sind jetz aber da im richtigen Verzeichnis und LEER.

Ich werde mich als nächstes mal damit auseinandersetzen, wie man den nanoCUL auf den WMBus schaltet. :-)

TWIMC:

So schaltet man das USB-scanning beim Rapsi ab:

attr initialUsbCheck disable 1

save (ganz wichtig! ;-) )

https://wiki.fhem.de/wiki/Raspberry_Pi "Empfohlener Patch" (Das war jetzt die 4 Anleitung, wie man fhem installieren kann, die ich (durch Zufall) gefunden habe).

Benamung der Devices/Logs: Ich kann mit Abstraktion leben, solange es kurz und knackig bleibt...
Vielen Dank und Grüße!

claudio

CoolTux

Ich widerspreche Jörg mal ein klein wenig in punkto Trockenübung. Du kannst schon etwas trocken üben.

Erstelle ein Dummy Device. Vergebe readingsList und setList so als wären es echte Readingnamen. Oben hattest Du schon welche genannt. Dann kannst Du mit


set DEVICENAME COMMAND WERT


ein Reading schreiben und erhälst dafür auch ein Event.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net