Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben

Begonnen von Joachim, 17 März 2014, 10:18:41

Vorheriges Thema - Nächstes Thema

Joachim

Moin Forum,
leide finde ich im Forum, Wiki, Commandref keinen Ansatzpunkt, deshalb mal die Frage:

Wie bekomme ich einen Wert, der mit FHEM2FHEM übergeben wurde in einen Dummy?

FHEMFHEM ist so definiert:
define FB7390 FHEM2FHEM 172.16.19.10:7072 LOG:.*
attr FB7390 room OWX


Der Eventmonitor liefert die entsprechenden Events:

2014-03-17 10:12:30.269 OWMULTI OWX_26_89D626010000 feuchte: 71.8757906221107
2014-03-17 10:12:30.277 OWMULTI OWX_26_89D626010000 Temperatur: 15.8
2014-03-17 10:12:32.061 OWMULTI OWX_26_09FF26010000 H: 69.82
2014-03-17 10:12:32.072 OWMULTI OWX_26_09FF26010000 VDD: 5.16
2014-03-17 10:12:32.081 OWMULTI OWX_26_09FF26010000 temperature: 15.83125
2014-03-17 10:12:32.089 OWMULTI OWX_26_09FF26010000 absFeuchte: 8.4
2014-03-17 10:12:32.097 OWMULTI OWX_26_09FF26010000 T: 15.83 H: 69.82 V D: 10.3 A: 8.4
2014-03-17 10:12:34.070 OWMULTI OWX_26_402E27010000 voltage: 3.2
2014-03-17 10:12:34.079 OWMULTI OWX_26_402E27010000 VDD: 5.16
2014-03-17 10:12:34.088 OWMULTI OWX_26_402E27010000 temperature: 15.9219
2014-03-17 10:12:34.097 OWMULTI OWX_26_402E27010000 T: 15.92 voltage: 3.20 V
2014-03-17 10:12:34.105 OWMULTI OWX_26_402E27010000 feuchte: 72.2249113713145
2014-03-17 10:12:34.116 OWMULTI OWX_26_402E27010000 Temperatur: 15.9
2014-03-17 10:12:35.230 OWTHERM OWX_28_2845BA030000 temperature: 15.8125
2014-03-17 10:12:35.238 OWTHERM OWX_28_2845BA030000 T: 15.81 °C
2014-03-17 10:12:35.246 OWTHERM OWX_28_2845BA030000 Temperatur: 15.81

Ich möchte jetzt z.B. diesen Wert:
2014-03-17 10:12:30.269 OWMULTI OWX_26_89D626010000 feuchte: 71.8757906221107
in einen Dummy schreiben.
Ich habe mir einen Dummy angelegt und versucht, es mit einem userReading zu machen, das klappt leider nicht:
define test dummy
attr test room test
attr test userReadings Feuchte {ReadingsVal("OWX_26_89D626010000","feuchte",0)}

da es sich bei dem Readings um OWX-Readings handelt, geht auch der RAW-Modus nicht.
Wer gibt mir das fehlende Puzzleteil?

Danke Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

UliM

Mit einem notify, das den per f2f eingehende Event mittels set auf den dummy schreibt
Wenn du nur loggen willst brauchst du den dummy nicht
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

Joachim

#2
So, da keiner eine Idee hatte, habe ich mal ohne Ahnung vor Perl die 98_dummy.pm bearbeitet.
Das ist zwar ersteinmal nur ein Würgaround, aber mir reicht es aus.

Ich kann jetzt dummys anlegen, die die Werte abgreifen, einfach den Originalnamen mit 2 vorangestellten Zeichen als Dummy anlegen.
Also:
Originalname --> OWX_28_6119BA030000
Dummyname --> D_OWX_28_6119BA030000
und die Readings werden abgegriffen.

geänderte Datei im Anhang. ist als neues Modul cloneDummy in FHEM seit dem 23.03.2014 enthalten.

Puschel, kannst Du diesen Tread nach Automatisierung verschieben, damit da eventuell dann daran weitergearbeitet werden kann, bis man es einchecken kann.

Gruß Joachim

PS.: UliiM, zu spät.

FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Puschel74

Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Olaf A

Hallo Joachim,

super sieht gut aus.
Habe aber ein kleines Problem noch bei den Readings meine und deine Sensoren kommen mir : am Ende schön währe ohne.

(//)

Gruß Olaf
FHEM auf CubieTruck:
Max mit Cube, HMLAN; MAX-Thermostaten; Homematic-Komponenten, SIS PM Schalter, JeeLink.

Groby

Das funktioniert doch nur bis zum nächsten Update von 98_dummy.pm. Das Letzte war bei mir am 12.03.14...

Das kann man wie Uli bereits erwähnt hat, eleganter mit einem notify abarbeiten ($NAME $EVENT). Zuvor noch das device lokal auf Existenz prüfen.

Das hat den entscheidenden Vorteil, dass der User die Namen bestimmt, die Kontrolle behält und ohne Schaden "update" ausführen kann...

Joachim

Moin Olaf,
den Doppelpunkt bekommt man raus, das kann ich aber erst morgen machen, da heute am falschen Rechner.

Moin Groby,
ob das mit einem notify eleganter ist, glaube ich nicht, da man dann für jedes Reading ein notify anlegen muss,
das mit dem Update ist bekannt, und auch nur solange, bis das ganze im normalen Update ist,
dass bei dem Namen zur Zeit noch ein Kunstgriff nötig ist, hängt mit einen Problem zusammen das ich bisher noch nicht lösen konnte:
Der Dummy klaut dem von FHEM2FHEM übergebenen Wert seine Bezeichnung:
2014-03-17 10:12:30.269 OWMULTI OWX_26_89D626010000 feuchte: 71.8757906221107
das OWMULTI wird duch Dummy ersetzt.
Hintergedanke des ganzen ist, dass man mit wenig Aufwand auch die Devices mit FHEM2FHEM anlegen kann, die nicht RAW fähig sind.
Ausserdem will ich OWX auf meine FB auslagern, da sie auf dem HauptFHEM das System blockiert.
Das ganze eignet sich, wenn es vernünftig funktioniert auch hervorragend für ein Testsystem.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

der-Lolo

ich find die Idee klasse, habe es jetzt noch nicht probiert, so wie es klingt ist es aber sehr interessant für mich... hier laufen zur zeit zwei fhem umgebungen - ich hab sie aber noch nicht gekoppelt. das möchte ich auch erst machen wenn ein paar kleinere stolpersteine beseitigt wurden... man ist halt immer am basteln mit fhem...

Groby

Hallo Joachim,

Das macht Sinn, wenn es konsequent umgesetzt wird. Bis dato habe ich "state" von Hand zebröselt. Es sollte aber über ein Attribut implementiert werden, sodass man den "Client-Namen" frei wählen kann:

attr f2f link Name_host Name_client

Jedenfalls so in der Art...

MfGroby

Joachim

Moin Groby,
das mit dem attr wäre auch eine Möglichkeit, bisher war der Gedankengang, den gleichen Namen, wie auf dem entfernten Rechner zu nehmen, um die Übersicht nicht zu verlieren, und nur einen Dummy zu definieren, rest geht von alleine.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

Groby

Nachtrag: es sollten nicht alle "readings" blind geklont werden. Ich will "weather" auslagern, da es auf der FB7390 manchmal bis zu 3 Sek braucht um die Daten zu aktualisieren...

Grundsätzlich interessieren mich aber nur:

temperature
code
current_date_time

Mit anderen Worten ein Attribut welche readings kopiert werden soll wäre user-friendly:

attr f2f reading temperature,code,current_date_time

so oder so ähnlich...

Joachim

Moin Groby,

Das mit einem ausschliessen von Readings wie bei DbLog Exlude sollte sich sicherlich machen lassen, ist aber nicht unbedingt nötig, da die Readings dann in den Dummy geschrieben werden, wenn sie von FHEM2FHEM geliefert werden.
Also selbst wenn Dein weather erst nach zwei Stunden kommen würde, ist es egal, und blockiert FHEM nicht.
Das schöne ist, dass es im Moment nur 10 Zeilen Code in der Dummy.pm sind, und ein einfaches erstellen eines Dummys ausreicht.
also nur:
define D_OWX_28_6119BA030000 dummy
und schon werden alle readings, die auf OWX_28_6119BA030000 matchen, in den Dummy geschrieben, und stehen zur Verfügung, können mit stateFormat formatiert werden, und wahrscheinlich auch im Dashboard eingebunden werden.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

der-Lolo


Joachim

Moin der Lolo,
Danke, ist aber sicherlich noch zu früh.
hast Du es schon ausprobiert?

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

der-Lolo

Nein noch nicht - ich habe fhem2fhem noch nicht am laufen...
Ein Cubietruck ist in der Post, ich wollte warten bis der den Platz des Raspi eingenommen hat...