FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Joachim am 17 März 2014, 10:18:41

Titel: Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 10:18:41
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: UliM am 17 März 2014, 16:43:15
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 16:49:26
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.

Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Puschel74 am 17 März 2014, 17:37:59
Gerne - und schupps.  ;D
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Olaf A am 17 März 2014, 19:21:25
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Groby am 17 März 2014, 19:33:20
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...
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 20:37:19
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: der-Lolo am 17 März 2014, 20:51:13
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...
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Groby am 17 März 2014, 20:59:04
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 21:04:18
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Groby am 17 März 2014, 21:17:00
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...
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 22:50:21
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
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: der-Lolo am 17 März 2014, 22:52:11
Ich glaube hier ist ein Applaus fällig!

Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 22:54:07
Moin der Lolo,
Danke, ist aber sicherlich noch zu früh.
hast Du es schon ausprobiert?

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: der-Lolo am 17 März 2014, 22:56:59
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...
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 22:57:45
Schade
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Olaf A am 17 März 2014, 23:57:53
Hallo Ihr,

anbei die 98_dummy.pm die die Readins ohne ":" liefert.

Gruß Olaf und nacht

PS. Anhang entfernt da dieses Modul zu 98_cloneDummy.pm geworden ist.
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 17 März 2014, 23:59:28
Danke
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Olaf A am 18 März 2014, 00:01:58
Hallo Jo,

du solltes aber dann die Datei wieder oben einsetzen.  ;D

Gruß Olaf
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 00:04:03
Aber natürlich, das geht aber erst wenn ich Feiermorgen habe und zu Hause bin.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 07:46:07
Guten Morgen Forum,

in Antwort 2 die geänderte dummy.pm.

Bei mir und bei Olaf funktioniert es damit.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Groby am 18 März 2014, 07:52:10
Hallo Joachim,

ich hab den rpi entstaubt und ein wenig rumprobiert. Das läuft wesentlich geschmeidiger als erwartet.

Ich muss die Events bei fhem1 noch anpassen, damit auch die nötigen readings kopiert werden. Im Moment bekomme ich "temperature" immer als "T". Vermutlich weil es aus dem original "state"-reading kopiert wird.

Wenn's klappt werde ich testweise Weather im Live System auslagern...

Kann mich nur der-Lolo anschliessen: Applaus!!!

MfGroby
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 08:20:15
Groby, danke für Deine Rückmeldung.
Ich bin noch nicht wirklich zufrieden damit, da die Namen der Devices angepasst werden müssen, und im Eventmonitor 2 mal geloggt wird,
- einmal wenn FHEM2FHEM die Daten übergibt,
- einmale wenn das Dummy-Device sein Readings-Update bekommt.
Mal abwarten, was Rudi ;D dazu sagt.
Mir würde eine Lösung, die in FHEM2FHEM integriert ist, am besten gefallen, also nach dem System, dass man FHEM2FHEM normal definiert, und mit einem Attribut entscheidet, dass dieses Device angelegt wird, und die Werte dann nicht von FHEM2FHEM geloggt werden, sondern direkt in das Device als Reading übergeben werden.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Groby am 18 März 2014, 09:06:40
Hallo Joachim,

Absolut. Auf die Antwort von Rudi bin ich gespannt.

Falls Du noch weiter experimentierst hier noch ein paar findings:

Wenn "state" upgedated wird mit:

CUL_HM HK_Flur T: 19.5 desired: 20.0 valve: 35


wird nur ein reading "T 19.5" erzeugt und bei Weather zerstückelt es die "current_date_time"


Original: "current_date_time" "18 Mar 2014 7:50 am CET" "2014-03-18 08:36:52"
Kopie:    "current_date_time" "18" "2014-03-18 07:55:00"


Wenn es noch etwas zum Testen gibt - ich bin dabei  8)

MfGroby
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 09:34:09
Die beiden Fälle habe ich in der Readingsaufbereitung noch nicht berücksichtigt.
Baue ich eventuell heute Nachmittag ein. Nu will ich erstmal ins Bett.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Olaf A am 18 März 2014, 20:58:03
Hallo Joachim,

ich habe jetzt nach einger Zeit Betrieb feststellen müssen, dass ich noch einen Fehler habe.

Ich logge die absFeuchte und die relFeuchte in meinen ersten PI wech. Die Dummyschaltung überträgt mir aber die relFeuchte nicht. Ich lasse meinen Test Pi mal laufen und schaue dann mal ob sich da was ändert.

Gruß Olaf

P.S. Über HM scheind es zu klappen. Es kann aber auch an der Glättung liegen, dass ich noch keine Daten bekommen habe.
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 21:02:11
Moin Olaf,
schaue ich ir morgen mal an, bin jetzt auf der Arbeit ohne Testmöglichkeit.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Olaf A am 18 März 2014, 21:04:35
Jup war klar,

Ich lasse Ihn halt jetzt mal nonstop Laufen.

Gruß Olaf
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 21:07:52
Olaf, lade mal bitte einen Auszug aus dem Eventmonitor hoch, mal sehen, ob die Events überhaupt ankommen.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Olaf A am 18 März 2014, 21:13:53
Komando zu rück.

Das hat durch die Glättung halt nur so lange gedauert bis die Daten kommen.

Scheint alle klar zu sein.

Gruß Olaf
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 18 März 2014, 21:19:44
Na, geht doch.
Das ist schön.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 19 März 2014, 07:55:11
So, neu Testversion in Antwort 2.
Das reading sollte jetzt nicht mehr abgeschnitten sein.

Gruß Joachim

Edit:
98_dummy.pm nochmal erweitert, Wenn kein stateFormat gesetzt, wird automatich ein Wert ausgewählt.
Für mich ist das ganze jetzt fertig, es sei denn es gibt weitere Kommentare.
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Groby am 19 März 2014, 15:51:38
Joachim,

jetzt ist der Applaus fällig...

Funzt Super!!! Anbei 2 Beispiel-readings...

Readings
T            20.8 desired: 20.0 valve: 12 2014-03-19 15:48:09
state      T: 20.8 desired: 20.0 valve: 12 2014-03-19 15:48:09

Readings
brightness 207 2014-03-19 15:49:52
state brightness: 207 2014-03-19 15:49:52

PS: die Datei ist in Antwort 3

MfGroby
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 19 März 2014, 16:06:49
Super, dass es bei Dir läuft.
Ich werde es bei mir auch noch etwas ausprobieren, und dann mit Rudi Kontakt aufnehmen.

ZitatPS: die Datei ist in Antwort 3
Beitrag 3, bzw Antwort 2.

Gruß Joachim
Titel: Antw:Werte aus FHEM2FHEM im Logmodus in einen Dummy schreiben
Beitrag von: Joachim am 21 März 2014, 11:59:43
@all,

Heir geht es weiter:
http://forum.fhem.de/index.php/topic,21654.0.html

gruß Joachim