HM-CC-RT-DN - set desired-temp will nicht richtig

Begonnen von danielsen, 06 Januar 2014, 20:13:28

Vorheriges Thema - Nächstes Thema

danielsen

Hallo zusammen,

ich bin gerade dabei einen kleinen Wecker mit FHEM zu realisieren. Hierbei soll auch die Heizung angesprochen werden. Verwendet wird ein RPie mit HM-USB-Konfigurator und einem Thermostat: HM-CC-RT-DN.

Folgenden Code habe ich bis jetzt versucht:
define wakeup at *07:00:00 {\
     {system ("mpc play 1 &")}\
     {fhem("set BZ.Heizung_Climate_tr desired-temp 24.0")}\
}\


Die Musik (mpc) funktioniert wunderbar ... nur die Heizung bleibt kalt :/ Was ist denn an folgendem Code noch falsch?
{fhem("set BZ.Heizung_Climate_tr desired-temp 24.0")}\
Hat Jemand einen Tipp? Wenn ich das ganze per Dropdown im FHEM Webinterface einstelle funktioniert alles und im Log steht: "CUL_HM set BZ.Heizung_Climate_tr desired-temp 24.0"

Zudem habe ich gelesen, dass der HM-CC-RT-DN über eine BOOST-Funktion (schnelleres Aufheizen) verfügt. Kann man die auch per FHEM starten?

Vielen Dank schonmal für eure Antworten.
Gruß

strauch

#1
Bin grad unterwegs und die Smilies irritieren etwas aber ein semikolon gehört nicht in die Klammer sondern ans Zeilenende. Und du brauchst nur eine geschweifte klammer nicht für jeden aufruf. Schau mal meinen code hier:
http://forum.fhem.de/index.php?topic=16912.msg116393.msg#116393
Gesendet von meinem GT-P7310 mit Tapatalk
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

danielsen

Hi, danke für deine Antwort. Welche Smiles meinst du? Und ich weiß auch noch nicht so genau welches Semikolon du meinst ....

ich hatte mich an die Dokumentation gehalten und drei Schreibweisen gefunden (Beispiel):
set lamp off
"fhem.pl 7072 "set lamp off""
{fhem("set lamp off")}

und hatte mich für die dritte Variante entschieden ... aber wie gesagt, der Heizkörper bleibt kalt :(


Mr. P

Hej,

setzte einmal:
attr global verbose 5
führ anschließend das ganze nochmal aus und schau dann ins Log. ;-)
Greetz,
   Mr. P

danielsen

Ich hab gute Nachrichten. Heute morgen hat es wunderbar funktioniert. Ich denke es liegt dann eher an der Zuverlässigkeit der Verbindung ... Aber da bin ich noch dran! ;)

das mit: attr global verbose 5 werde ich trotzdem mal versuchen.

Kann noch jemand etwas zur "boost" Funktion sagen?

strauch

Zitat von: danielsen am 06 Januar 2014, 22:12:50
Hi, danke für deine Antwort. Welche Smiles meinst du? Und ich weiß auch noch nicht so genau welches Semikolon du meinst ....

Sorry Tapatalk hat da überall Smilies reingebaut und ich dachte weil es ein zwinkender Smilie ist das du dort quasi ; ) hattest. Aber jetzt sehe ich das ist nicht so. Sorry ich wollte nicht irritieren. Wenn es jetzt funktioniert ist gut :-). Du kannst ja mal bei den RSSI Werten schauen wie gut der Empfang ist. Ansonsten hätte ich den Code so geschrieben:
define wakeup at *07:00:00 {\
     system ("mpc play 1 &");\
     fhem("set BZ.Heizung_Climate_tr desired-temp 24.0");\
}\
FHEM 5.6 VMware mit Debian. 1 CUL für FS20 und HMLAN für Homematic, HM-CC-RT-DN, HM-LC_Sw1PBU-FM, HM-LC-Bl1PBU-FM,  HM-SEC-SC, HM-SEC-SC-2, HM-LC-Sw1-Pl2, HM-Sec-RHS, ASH2200, FHT80B, S20KSE, Sonos, XBMC, FB_Callmonitor, SMLUSB, Arduino Firmata, uvm.

djsunshine84

Hallo

ich habe ein ähnliches Problem. Hintergrund ich habe im Wohnzimmer 2x HM-CC-RT-DN + 1x HM-SEC-RHS soweit so gut.

die Verbindung mit ..._WindowRec funktioniert auch ohne Fehler. Mein Wunsch ist es nur einen HM-CC-RT-DN zu steuern, also egal ob web oder fhemobile.

Hierfür war meine Überlegung ein notify was bisher so aussieht

define WohnHeizungControl notify WohnHeizungBalkon:set_desired-temp.* {\
       fhem ("set WohnHeizungCouch %");;\
       fhem ("set WohnHeizungBalkon,WohnHeizungCouch burstXmit")}


in dem % steckt leider nicht wie erhofft der Zahlenwert sonder z.B. "set_desired-temp 20.5", dass dadurch die zweite Zeile nicht ans Ziel führt ist mir klar.
Leider komm ich nicht weiter wie ich dies ein kürzen könnte, sodass von mir aus in Variable $temp nur noch 20.5 drin steht und ich dann den Befehl der 2ten Zeile in


fhem("set WohnHeizungCouch desired-temp Variable($temp)");;\


umbauen kann. Wobei da die nächste Frage kommt wie übergebe ich die Variable innerhalb der "..." geht das ja nicht.

Bitte helft mir mal auf den richtigen Weg.

Vielen Dank im Voraus.

martinp876

hi,
ich hatte auch das Problem. Mein Ansatz:
egal, welchen ich ändere, egal von wo - der 2. soll es nachmachen.

das funktioniert. Knackpunkt konnte es sein, wenn du viele RTs hast und viele Gruppen machen willst. Durch geschickte Namensgebung könntest du dies aber lösen.

define h_ab_team_temp notify h_.*_Clima:desired-temp.* {\
  if ($EVTPART1 ne ReadingsVal("h_Lnge_Clima","desired-temp","")){\
    fhem "set h_Lnge_Clima desired-temp $EVTPART1"}\
  if ($EVTPART1 ne ReadingsVal("h_FstH_Clima","desired-temp","")){\
    fhem "set h_FstH_Clima desired-temp $EVTPART1"}\
  }
attr h_ab_team_temp room Heating,notify
define h_ab_team_mode notify h_.*_Clima:mode.* {\
  if ($EVTPART1 ne ReadingsVal("h_Lnge_Clima","mode","")){\
    if ($EVTPART1 =~ m/(auto|boost)/){\
      fhem "set h_Lnge_Clima controlMode $EVTPART1"}\
elsif($EVTPART1 eq 'manu'){\
      fhem "set h_Lnge_Clima controlManu ".ReadingsVal("h_Lnge_Clima","desired-temp","")}\
  }\
  if ($EVTPART1 ne ReadingsVal("h_FstH_Clima","mode","")){\
    if ($EVTPART1 =~ m/(auto|boost)/){\
      fhem "set h_FstH_Clima controlMode $EVTPART1"}\
elsif($EVTPART1 eq 'manu'){\
      fhem "set h_FstH_Clima controlManu ".ReadingsVal("h_FstH_Clima","desired-temp","")}\
  }\
  }
attr h_ab_team_mode room Heating,notify


Dabei solltest du aber darauf achten, dass die templiste synchron ist.
Hierzu empfiehlt sich HMInfo, die templisten in einem file anlegen und gleich RTs der identischen Liste zuordnen. Ggf ein verify machen... einfach einmal commandref aufsuchen.

Gruss Martin

djsunshine84

Hallo Martin,

Vielen Vielen Dank
hat alles auf Anhieb geklappt.  ;D

djsunshine84

Hallo Martin

Ich habe noch einen kleinen Verbesserungsvorschlag (vielleicht auch für dich).
Bei mir läuft das Ganze in Kombination mit einem HM-SEC-RHS. Da ist mir aufgefallen, das es machmal dazu kommt, dass sobald ich die Tür schließe, die beiden RTs richtig mitbekommen das die Balkontür wieder zu ist aber die Temparatur bei 12°C bleibt(was ja die WinOpen Temp ist).
In den Logs hab ich gesehen das dies dann passiert wenn ich dummerweise genau den Zeitpunkt beim öffnen erwische wo ein Reading passiert.
Und dann natürlich richtigerweise Dank deiner Notify-Funktion die beiden RTs die 12°C als set_desired-temp bekommen.

kurz um mein Code sieht nun so aus und bisher funktioniert es.


define WohnHeizungTeamTemp notify WohnHeizung.*:desired-temp.* {\
  my $BTstate=ReadingsVal("Balkontuer","state","closed");;\     
    if ($BTstate eq "closed") {\
      if ($EVTPART1 ne ReadingsVal("WohnHeizungBalkon","desired-temp","")){\
       fhem "set WohnHeizungBalkon desired-temp $EVTPART1";; fhem "set WohnHeizungBalkon burstXmit"}\
      if ($EVTPART1 ne ReadingsVal("WohnHeizungCouch","desired-temp","")){\
       fhem "set WohnHeizungCouch desired-temp $EVTPART1";; fhem "set WohnHeizungCouch burstXmit"}\
   }\
}


Grüße

martinp876

Hi,

danke - da ich keinen rhs nutze st es mir egal - aber sicher korrekt ist,dass wenn die desired-temp während des fenster-offen- mode  geädert wird ist dies somit die neue Fenster-zu-temp - klar ein Problem.
Du könntest auch einfach ein notify für den RHS bauen... es gibt immer viele möglichkeiten...

Gruss Martin