Hallo zusammen,
ich bin, was FHEM-Konfiguration angeht, blutiger Anfänger.
Vorarb mein aktueller Stand:
rPi mit busware COC laufen. Ich habe 4 DS18B20 am 1-Wire-Bus. Diese werden erkannt und per autocreate erstellt - für mich schon mal ein Riesenerfolg... :-D
Nun wusel ich mich durch verschiedene Attribute und Parameter und komme immer wieder zu einer Fragestellung: wo kann ich nun rausfinden, was ich nun machen muss?!
Genauer:
ich versuche nun, ein einfaches Log zu erstellen, in dem einfach nur die Temps der Sensoren geloggt werden. Diese möchte ich dann in einem Plot ausgeben.
Es gibt schon recht viele Fragen dazu hier im Forum - klar, die lese ich und versuche mich schlauer zu machen. Aber deutlich schlauer werde ich nur recht langsam und es ist z.T. recht zäh, ohne ein Basiswissen, die Beispiele zu verstehen. Hätte ich aber das Wissen aber schon, bräuchte ich diese Threads nicht zu lesen. Da beißt sich die Katze in den Schwanz...
Mein Wunsch wäre vielleicht eine einfache - chronologische - Einführung in FHEM. Die Heimautomatisierung mit fhem - Für Einsteiger - (//fhem.de/Heimautomatisierung-mit-fhem.pdf) finde ich da nicht anfängerfreundlich genug, die "Einstiegshilfe" fängt für mich ne Stufe zu hoch an. Auch die CommandRef finde ich recht lückenhaft (entweder ist filelog (noch) nciht dokumentiert oder ich bin zu dämlich, es zu finden).
Mein Grundproblem:
ich verstehe den Aufbau von FHEM noch nicht genau. Es gibt IO-Devices - bei mir der COC - und daran hängen Devices - bei mir im Moment die DS18B20. Und dann? Oder besser gesagt: und sonst?
Dann definiere ich ein Filelog (wenn ich es hinbekomme). Ist das filelog dem Sensor zugeordnet. Oder umgekehrt? Oder ist das Filelog grundsätzlich ein unabhängiges Dingen und die Daten des Sensors werden abgegriffen und ins Log geschrieben. Und was ist das filelog für ein Dingens...... und und und...
Ein Beispiel für mein spezifischeres Problem:
ich möchte ein Filelog erstellen. Nun suche ich per google nach "FHEM filelog". Es kommen Treffer in der commandref und der fhem-Startseite - und von da an drehe ich mich im Kreis. Ich finde keine Stelle, an der ich sowas nachlesen kann wie:
Bei Sensoren und Aktoren lassen sich unterschiedliche Dinge loggen.
Bei Temperatursensoren kann man folgende Parameter loggen: ......
bei Stellantrieben kann man folgende Parameter loggen: ....
Ich benötige Infos über die Möglichkeiten, die ich überhaupt nutzen kann. Sonst stehe ich wie Ochs vorm Berg und gucke blöd.
Kann irgendjemand nachvollziehen, was ich meine???
Bitte versteht mich nicht falsch! Ich möchte damit nicht sagen: alles blöd, warum macht das keiner!?
Ich gehe davon aus, dass ich nicht alleine bin, mit diesem Problem, nicht zu wissen, was alles geht und wie. Und ich glaube, dass man bei Dingen, die man selber beherrscht, leicht vergisst, wo die Anfänger Probleme sehen.
Aber vielleicht kann ich denjenigen, die sich sowieso mit der Dokumentation beschäftigen, ein wenig aufzeigen, wo ich als Anfänger Probleme habe.
Ich möchte mich jetzt schon einmal bedanken für eure Arbeit, die bisher schon in FHEM geflossen ist und noch fließen wird.
Ohne diese könnte ich mich nicht voller Spaß und Motivation mit dem Thema Homeautomatisierung beschäftigen!
Viele Grüße aus dem Kohlenpott
Bene
Hi,
fhem funktioniert event-getrieben. Events sind meistens durch eintreffende Funktelegramme oder Statusmeldungen von Sensoren ausgelöst.
Filelog steht in der commandref nicht in der Liste der Module, sondern unter Helper Modules. ctrl+F auf der commandref-Seite führt Dich zu http://fhem.de/commandref.html#FileLog (//fhem.de/commandref.html#FileLog)
FileLog definiert einen event-handler, der besagt, auf welche Funktelegramme/events er anspringen soll und in welche Datei dann ggf diese events weggeschrieben werden sollen.
Eine chronologische Anleitung stell ich mir schwierig vor, da jeder was anderes erreichen möchte: der eine will Licht schalten, der nächste ne Alarmanlage basteln, der nächste seine Heizung steuern usw. Und das dann jeweils mit unterschiedlichen Hardware-Systemen.
Vll siehst Du ja den Weg und erstellst sowas, sobald Du fhem einigermaßen durchschaust :)
Gruß, Uli
Hallo,
ZitatIch finde keine Stelle, an der ich sowas nachlesen kann wie:
Bei Sensoren und Aktoren lassen sich unterschiedliche Dinge loggen.
Bei Temperatursensoren kann man folgende Parameter loggen: ......
bei Stellantrieben kann man folgende Parameter loggen: ....
Sowas wirst du in der commandref bzw. im PDF auch nicht finden da es einfach zu viele unterschiedliche Sensoren gibt die unterschiedliche Daten
bereit stellen.
Es gibt leider nicht EIN einfaches "Kochrezept" für Hühnerbrühe und Lachsauflauf.
Das ein Temperatursensor allerdings keine Ventilstellung rückmeldet versteht sich ja von selbst ;-)
Die allererste Kontaktaufnahme mit FHEM mit Onewire-Sensoren finde ich allerdings auch etwas "gewagt".
Im Prinzip kannst du das Vorgehen recht einfach aufteilen:
Sensor - muss in FHEM definiert werden - wenn das autocreate nicht erledigt.
Der Sensor liefert dann Daten an FHEM - welche Daten das sind kommt eben auf den Sensor an.
define Geraet1 FS20 1b39 3e
FileLog - muss in FHEM definiert werden und dem Sensor zugeordnet werden.
Im FileLog werden dann entweder alle Daten oder nur ausgewählte Daten abgespeichert - das kommt auf das Regexp an das du definierst.
define FileLog_Geraet1 FileLog /home/pi/Fritz/SanDisk-Cruzer-11/log/Geraet1-%Y.log Geraet1
Notify - muss in FHEM definiert werden und der auszulösenden Aktion (Sensor) zugeordnet werden.
Im Notify kann dann auf das auzulösende Ereigniss reagiert werden - welche Ereignisse das sind definierst du.
define Geraet1_pruef notify Geraet1:.* {\
Und so zieht sich das durch ganz FHEM.
Es ändert sich nur das define des Sensors - je nachdem welcher Sensor verwendet wird.
Grüße
Hallo zusammen,
war länger unterwegs, daher erst jetzt eine Reaktion.
Mir ist grundsätzlich klar, dass bei der Vielzahl von Geräten es keine universelle Anleitung für alles geben kann. Das würde ich auch nicht erwarten - außerdem: wenn ich es einfach und gemütlich haben möchte, muss ich mir ne fertige Anlage montieren lassen... ;-)
Eure Antworten, UliM und Puschel74, bringen mich im Grundverständnis tatsächlich ein wenig weiter.
Bei dir, Puschel74, stellt sich mir noch eine Folgefrage:
define Geraet1_pruef notify Geraet1:.* {\
Die Schreibweise von Geraet1:.* ist mir noch nicht soo klar:
Ich gehe gerade davon aus, dass Geraet1 ein Sensor ist. Das :.* definiert die Parameter, die von Geraet1 abgefragt werden, hier im Beispiel * = alle Parameter. Verstehe ich das richtig?
Ein konkreter Fall:
Ich möchte - erstmal zum Testen - bei Überschreitung einer Temperatur den Wert eines dummys ändern.
Ist folgendes dafür richtig?
define testdummy dummy
define TestTemp notify Sensor4:.temperature {\if (Sensor4:temperature:.* > 20) {\ fhem("set testdummy 55555")}\ }\
Das habe ich mir aus der Einsteiger-PDF und Forenbeiträgen zusammen geschrieben.
Danke für eure Hile!
Bene
Hallo,
ZitatDie Schreibweise von Geraet1:.* ist mir noch nicht soo klar:
Ich gehe gerade davon aus, dass Geraet1 ein Sensor ist. Das :.* definiert die Parameter, die von Geraet1 abgefragt werden, hier im Beispiel * = alle Parameter. Verstehe ich das richtig?
Das hast du ganz richtig erkannt.
Geraet1 = Device
: = Trenner
. = beliebiges Zeichen
* = beliebig viele davon (also vom .)
Hier
define TestTemp notify Sensor4:.temperature {\if (Sensor4:temperature:.* > 20) {\ fhem("set testdummy 55555")}\ }\
kannst du allerdings an dieser Stelle
define TestTemp notify Sensor4:.temperature
den . weglassen.
Also so
define TestTemp notify Sensor4:temperature
Das trifft dann aber NUR zu wenn der Sensor4 auch ein Reading namens temperature hat.
Ein Temperature oder Temperatur oder temperatur wirst du damit nicht treffen.
Ob allerdings das
{\if (Sensor4:temperature:.* > 20)
matcht kann ich dir nicht sagen da ich
a) mich mit Einzeiler einfach nicht anfreunden kann ;-) und
b) sowas immer in eine Variable schreibe und dann abfrage bzw. vergleiche.
Grüße
Edith: Zu schnell abgeschickt.
Zu b noch: Ich frage das dann immer mit ReadingsVal ab.