FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: Knallfrosch am 16 Februar 2015, 11:48:41

Titel: Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 11:48:41
Hallo,

also absoluter Neueinsteiger bin ich schonmal froh mein System soweit stehen zu haben das ich einen HM-CC-RT-DN mit einem HMUSB und ein TFA 30.155.WD mit einem selbstgebauten JeeLink-Clone in FHEM eingebunden zu haben.

Soweit so gut. Das Auslesen von Werten klappt halbwegs.

Nun würde ich gerne in einem Raum die Temp mit dem 30.155 messen und diesen Wert an den HM-CC-RT-DN übergeben damit dieser als Ersatz für die measured-temp des Themostates verwenden.
Die Messung "im Raum" macht ja prinzipiell mehr Sinn als am Heizköper direkt (die Offsetanpassung von measured-temp gefällt mir nicht).

Aber ich verstehe nicht wie das funktionieren soll, je mehr ich lese umso komplizierter wird es......ich glaube ich verrenne mich da etwas.

Mit der Suche konnte ich leider nichts passendes finden, auch wenn ich mir fast sicher bin das ich nicht der erste mit dem Problem bin.....also Asche auf mein Haupt das ich hier Frage. :-)

Die measured-temp finde ich ja im CUL_HM_HM_CC_RT_DN_353XXX_Clima (Channel4) meine "externe Temp." nennt sich LaCrosse_20 und unter Readings temperature finde ich den aktuellen Wert.
Aber wiegesagt, wie überrede ich beide miteinander zu arbeiten!?

Vielen Dank für eure Hilfe.

Grüße
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 11:52:15
Hier steht es schön erklärt: http://www.fhemwiki.de/wiki/HM-CC-RT-DN_Funk-Heizk%C3%B6rperthermostat#Simulation_von_Fensterkontakten_und_externen_Temperatursensoren
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 11:55:15
Ok, Danke!

Ich habe da so meine Probleme mit den "Virtuellen Devices" daher habe ich das wohl gekonnt "überlesen".
Denn eigtl. ist mein TempSensor ja nicht virtuell  ::)

Ich werde mich mal versuchen dort einzuarbeiten und testen.

Grüße
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: marvin78 am 16 Februar 2015, 11:59:07
Da du ihn aber nicht direkt mit einem HM-Device verknüpfen kannst, musst du den Umweg über ein virtuelles Device gehen, welches du wiederum mit dem HM-Device peeren kannst.
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 12:00:11
Nein, dein Temsensor ist nicht virtuell, deswegen wird die Temp dann auch "manuell" übertragen:

ZitatGemessene Temperatur vom zb. 1-Wire DS1820 dem virtuellen HM Sensor übergeben. Z.B. alle zwei Minuten per at:

define at_wz_vT at +*00:02 { my $T=(ReadingsVal("<DS1820B>","temperature",20.0)); fhem "set wz_vT_Sensor1 virtTemp $T" }
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 12:04:02
Achsoooo:

Also ich erstelle einen (virtuellen) Homematic Sensor dem ich dann sage das er die Temp von meinem LaCrosse übernehmen soll.

Dann kann auch der HM-CC-RT-DN mit dem virtuellen HM-Sensor reden kann.....im Gegensatz dazu kann der RT-DN den LaCrosse nicht verstehen.

Also so ungefähr wie ICH-Forum-FHEM  ;D

Der Groschen fällt pfennigweise.


Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 12:05:22
genau  ;)
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 13:07:51
Irgendwie will es noch nicht richtig, denke aber das ich immer noch ein Verständnisproblem habe.

Ich habe es nun geschafft einen virtuelles Device anzulegen:

mit Set virtTemp kann ich dann eine feste Temperatur einstellen!? Aber eigentlich möchte ich ja das die Temperatur von meinem LaCrosse übernommen werden.
Das funkt. so aber nicht.

Bei mir taucht auch eine Zeile ( attr Schlafzimmer_Temp webCmd press short:press long ) auf mit der ich nichts anfangen kann.


#TempRegelungTEST
define virtual_temp CUL_HM 123456
attr virtual_temp IODev hmusb
attr virtual_temp expert 2_full
attr virtual_temp model virtual_1
attr virtual_temp msgRepeat 0
attr virtual_temp subType virtual
attr virtual_temp webCmd virtual
define Schlafzimmer_Temp CUL_HM 12345601
attr Schlafzimmer_Temp model virtual_1
attr Schlafzimmer_Temp peerIDs 353XXX01,
attr Schlafzimmer_Temp webCmd press short:press long
define Schlafzimmer notify wz_ds_temp { fhem "set Schlafzimmer_Temp $EVTPART1" }



Kann mir jemand sagen was ich hier falsch mache oder was noch fehlt?


Danke.
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 13:15:58
Ja habe ich, mehrmals....allerdings habe ich es wohl nicht verstanden  ::)

das rename habe ich durchgeführt....allerdings habe ich nach dem
set virtual_temp virtual 1

rename virtual_temp Schlafzimmer_Temp ausgeführt

Liegt darin der Fehler das ich eine Individuelle Umbenennung durchgeführt habe?


Es raubt mir noch den letzen Nerv......
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 13:18:41
Was soll denn der notify machen?

Mit so einem at wird die Temp geschrieben:
define at_wz_vT at +*00:02 { my $T=(ReadingsVal("<DS1820B>","temperature",20.0)); fhem "set wz_vT_Sensor1 virtTemp $T" }

Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 14:08:39
OK,

ich habe jetzt nochmal alles neu gemacht.
Diesmal habe ich mich strickt an das Wiki gehalten. (Die Peering Kontrolle hat nicht funktioniert weil kein hm defiiniert ist)

Es sieht jetzt wie folgt aus:



#TempRegelungTEST
define wz_vT CUL_HM 123456
attr wz_vT IODev hmusb
attr wz_vT expert 2_full
attr wz_vT model virtual_1
attr wz_vT subType virtual
attr wz_vT webCmd virtual
define wz_vT_Sensor1 CUL_HM 12345601
attr wz_vT_Sensor1 model virtual_1
attr wz_vT_Sensor1 peerIDs 353FFD01,
attr wz_vT_Sensor1 webCmd press short:press long
define at_wz_vT at +*00:02 { my $T=(ReadingsVal("LaCrosse_20","temperature",20.0))




Ich habe noch 2 Screenshots mit angehängt. Vielleicht hilft das weiter!?

Muss ich denn überhaupt "LaCrosse20" eintragen oder reicht "20" wie es hinter DEF steht?


Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 14:13:10
Klar musst Du LaCrosse_20 angeben, so heißt ja das Device.

Das Du dich strikt ans Wiki gehalten hats, gleub ich nicht  ;)
Es fehlt der set Befehl im at und eine Klammer fehlt am Schluss auch

define at_wz_vT at +*00:02 { my $T=(ReadingsVal("LaCrosse_20","temperature","")); fhem "set wz_vT_Sensor1 virtTemp $T" }

Ich würde übringends nicht die 20 Grad als "Default" nehmen, wenn kein Wert gelesen werden kann. Entweder gar nichts, oder kälter. Nicht, dass es bei Problemen nicht mehr warm wird.
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 14:30:24
Oha, nun hast du mir diese Codezeile schon 3mal kopiert.....  :o
Danke für deine Geduld.

Scheinbar überfordert mich gerade sogar Copy/Paste.   >:(
Ok, Fehler ist passiert.

Nun habe ich die von dir korrigierte Zeile erneut kopiert und bekomme beim speichern in der fhem.cfg die Fehlermeldung
Unknown command fhem, try help.

Ich werd noch bekloppt......das kann doch nicht wahr sein, das ich das trotz der Anleitung nicht auf die Reihe bekomme.


Hast du noch eine Idee?

Zur Kontrolle nochmal:
#TempRegelungTEST
define wz_vT CUL_HM 123456
attr wz_vT IODev hmusb
attr wz_vT expert 2_full
attr wz_vT model virtual_1
attr wz_vT subType virtual
attr wz_vT webCmd virtual
define wz_vT_Sensor1 CUL_HM 12345601
attr wz_vT_Sensor1 model virtual_1
attr wz_vT_Sensor1 peerIDs 353FFD01,
attr wz_vT_Sensor1 webCmd press short:press long
define at_wz_vT at +*00:02 { my $T=(ReadingsVal("LaCrosse_20","temperature",20.0)); fhem "set wz_vT_Sensor1 virtTemp $T" }



Langsam wird es mir schon peinlich.
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 14:54:21
Hallo,

so....ENDLICH funktioniert es, das ich unter State die Temp des LaCrosse angezeigt bekomme.

Ich habe mit Hilfe dieses Beitrags die "letzte Zeile" eingetragen:
http://forum.fhem.de/index.php/topic,19686.msg233906.html#msg233906 (http://forum.fhem.de/index.php/topic,19686.msg233906.html#msg233906)


Was bedeutet eigentlich die 20.0 in der Codezeile?

define at_wz_vT at +*00:02 {my $T=(ReadingsVal("LaCrosse_20","temperature",20.0)); fhem "set wz_vT_Sensor1 virtTemp $T" }

In manchen Beispielen steht dort die 20.0 und in anderen nur ""



NACHTRAG:

Nein es funktioniert nicht.
Ich nehm mir jetzt gleich Zettel und Stift und schreib die Temp auf und gebe sie manuell ein....  >:( >:( >:(

Beim Restart wird die Temp mit aktueller Zeit geschrieben.
2min später also beim nächsten Abfragezyklus steht im Log: 2015.02.16 14:02:38 3: at_wz_vT: Unknown command {my, try help.

Ich gebs jetzt gleich auf.




Titel: Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 15:08:29
Da war wohl noch eine Klammer falsch.

Und kann es sein, dass du direkt in der cfg editierst?
Keine gute Idee nimm lieber DEF.

Lesen magst Du nicht so gerne, oder? ;-)

Hatte das nit den 20 Grade vorhin schonmal geschrieben
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 15:18:06
Sorry Mitch, klar lese ich.....aber ich hatte in deinem Beitrag nur bis zum Code gelesen und bin dann direkt wieder in mein Frontend gesprungen.
Wer lesen kann, ist klar im Vorteil, ich weiß.

Tue mich mit den ganzen Codezeilen absolut schwer.

Ich habe define at_wz_vT at +*00:02 {}

nochmal neu durchgeführt und nun geht es tatsächlich so das im Log alle 2min. der Wert geschrieben wird und auch beim speichern der fhem.cfg kein Fehler mehr gezeigt wird.

Einsteigerfreundlich ist anders  ;)


Danke dir jedenfalls nochmal ganz herzlich.


PS: ja, ich bin meist in der cfg unterwegs. die ganzen funktionen im frontend kenne ich nicht.
Wobei viele scheinbar das "manipulieren" in der cfg verteufeln.
Aber ich lerne ja dazu.
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 15:23:41
Der Vorteil im DEF ist, dass Fehler (vor allem Klammern) sofort angeizeigt werden.

Ich würde mir das nochmal genauer anschauen, das funktioniert viel schneller und besser.

Mir hat am Anfang sehr geholfen, mir ein Perl Einsteigerbuch zu besorgen und zu lesen.
Fehler passieren aber trotzdem noch und machmal muss ich auch Frage, aber dafür ist das Forum ja da.

PS: das geklammere finde ich auch furchtbar ;-)
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 16 Februar 2015, 15:35:15
Kannst du mir ein Buch empfehlen?

Ich warte im Moment darauf das dieses hier http://www.amazon.de/Einf%C3%BChrung-Perl-Randal-L-Schwartz/dp/386899145X/ref=sr_1_1?ie=UTF8&qid=1424097213&sr=8-1&keywords=Einf%C3%BChrung+in+Perl (http://www.amazon.de/Einf%C3%BChrung-Perl-Randal-L-Schwartz/dp/386899145X/ref=sr_1_1?ie=UTF8&qid=1424097213&sr=8-1&keywords=Einf%C3%BChrung+in+Perl) wieder in der örtlichen Bibliothek verfügbar ist.

Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Mitch am 16 Februar 2015, 15:39:31
Genau das hatte ich mir auch gekauft
Titel: Antw:Anfänger versucht HM-CC-RT-DN mit einem ext. Temp.Sensor zu peeren
Beitrag von: Knallfrosch am 10 März 2015, 16:06:15
Hallo,

nachdem das peeren mit dem ersten Thermostat und LaCrosse dann funktioniert hat.

Habe ich mich vor ein paar Tagen dran gemacht auch einen weiteren Thermostat mit dem "zugehörigen" LaCrosse zu peeren.
Prinzipiell funktioniert es auch (irgendwie)

Das peeren war jedenfalls erfolgreich:
peerXref done:
x-ref list
    Flur_Thermostat_Weather => Flur_vT_Sensor1
    Flur_vT_Sensor1 => Flur_Thermostat_Weather


Seltsamerweise wird aber der Temp.Wert des Virtuellen Sensor nicht immer übernommen.
Dann kommt es zu Differenzen zwischen Virtual_Sensor und _Weather!
Das es zu Differenzen von 0.1° kommen kann, je nachdem wann die Daten geschrieben/gelesen werden habe ich im anderen Raum schon festgestellt, aber hat mich nicht gestört.

1-3° sind jedenfalls zuviel.

Kennt jemand das Problem und hat evtl. eine Lösung dafür?

Die (virtuelle)Temperatur wird alle 2 min eingelesen.
+*00:02 { my $T=(ReadingsVal("Flur_Klima","temperature","")); fhem "set Flur_vT_Sensor1 virtTemp $T" }

list  at_Flur_vT
Internals:
   COMMAND    { my $T=(ReadingsVal("Flur_Klima","temperature","")); fhem "set Flur_vT_Sensor1 virtTemp $T" }
   DEF        +*00:02 { my $T=(ReadingsVal("Flur_Klima","temperature","")); fhem "set Flur_vT_Sensor1 virtTemp $T" }
   NAME       at_Flur_vT
   NR         121
   NTM        16:05:12
   PERIODIC   yes
   RELATIVE   yes
   REP        -1
   STATE      Next: 16:05:12
   TIMESPEC   00:02
   TRIGGERTIME 1425999912.97867
   TRIGGERTIME_FMT 2015-03-10 16:05:12
   TYPE       at
   Readings:
     2015-03-10 16:03:16   state           Next: 16:05:12
Attributes:



Danke für eure Hilfe.

Grüße