[gelöst] HM-CC-VD aus Fhem steuern

Begonnen von Bennemannc, 11 April 2014, 07:06:33

Vorheriges Thema - Nächstes Thema

Bennemannc

Hallo,

ich habe einen Raum, in dem drei Heizkörper verbaut sind. Um diese gleich zu regeln, wollte ich mit einem HM-CC-RT-DN zwei HM-CC-VD ansteueren und die Ventilposition an die Stellantriebe übergeben.
Gestern ist das erste der HM-CC-VD angekommen. Das pairing mit Fhem hat funktioniert - der HMLAN ist im HM-CC-VD eingetragen. Der Versuch eine Ventilposition aus Fhem raus zu setzen scheitert - der Befehl wird nicht abgesetzt oder das HM-CC-VD nimmt ihn nicht an. Nach einiger Zeit geht das Antennensymbol aus, und der VD geht auf 15% (Notbetrieb).
Im Forum habe ich folgendes gefunden:
ZitatDie Kommandos sollten eigentlich automatisch abgearbeitet werden, wenn der vd erwacht. Da er aber noch nicht gepeert ist (zumindest kann man es nicht sehen) wacht er auch nicht auf und FHEM sendet nichts.
Jetzt meine Fragen:
ich wollte als erstes überhaupt mal dem VD VentilPositionen vorgeben, um zu sehen ob ubnd wie das klappt. Kann / muss ich den VD mit meinem HMLAN peeren ?
Wie kann ich die VentilPosition vom CC-RT-DN an die VD's senden ? Mit Dummy devices habe ich bis jetzt noch keine Erfahrung. Alternativ käme auch eine Steuerung mit Threshold in Frage. Wenn der CC-RT-DN über 40% offen ist, auch die VD's öffnen (60%) - wenn der CC-RT-DN unter 35% geht die VD's auf 10% setzen ---- oder so ähnlich.
Gibt es jemand der so etwas schon macht und mir ein paar Codeschnipsel senden kann ?

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

martinp876

den VD kann man nicht mit einem RT peeren.
Um sich mit dem VD unterhalten zu können muss man
a) config drücken
b) ihn mit einem TC gepeert haben, der ihn semi-regelmäßig bedient - da klinkt sich FHEM ein.

Da deiner nicht an einen TC gekoppelt ist bleibt aktuell nur Version a)

Erstelle einen virtuellen TC
define va CUL_HM 112233
set va virtual 2
rename va_Btn1 vtc1
rename va_Btn1 vtc2
set vtc1 peerChan 0 vd1 single set
set vtc2 peerChan 0 vd2 single set
set vtc1 valvePos 20
set vtc2 valvePos 30

jetzt sollte fhem regelmäßig an den/die VD schicken. Beachte, dass es ein kritisches Timing ist - restarts könnten zu Problemen führen. Dann wird sich der VD nach längerer Zeit wieder Synchronisieren - dauert aber!!!

Du kannst mit
set vtc1 valvePos 20
jederzeit die Ventilpos ändern. FHEM wird es zu gegebener Zeit übertragen - muss aber warten, bis der VD aufwacht - also bis zu 3 min

Mit einem Notify kannst du die valvePos des RT in das set valvePos übertragen.

Gruss Martin

Bennemannc

#2
Hallo Martin,

besten Dank, hat super funktioniert. Der VD geht nicht mehr auf Störung und ich kann manuell Ventilpositionen vorgeben.

Eine Frage habe ich noch heißt das Event Thermostat_Clima:ValvePosition.* oder Thermostat_Clima ValvePosition:.*

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

martinp876

kann man im Notify nachlesen. Es steht erst die meldende Entity, dann ":", dann das Reading mit ":" und dann der Wert.
Das Blank kommt sowie so schlecht - sollte durch "beliebiges Zeichen", also regexp "." ersetzt werden.

Thermostat_Clima:ValvePosition:.*

Gruss Martin

Brockmann

Hallo,

ich würde dieses Thema gerne aufgreifen, weil ich vor demselben Problem stehe. Ich möchte einen HM-CC-VD per HM-LAN direkt ansteuern, um im Zusammenspiel mit einem vorhandenen HM-WDS40-TH per PID20 die Temperatur zu regeln. Den Lösungsvorschlag hier im Thread habe ich - denke ich - befolgt, also einen virtuellen TC erstellt.

define BZ_VD CUL_HM 1FA218
attr BZ_VD IODev HM_LAN
attr BZ_VD actCycle 028:00
attr BZ_VD actStatus alive
attr BZ_VD autoReadReg 4_reqStatus
attr BZ_VD expert 2_full
attr BZ_VD firmware 2.0
attr BZ_VD model HM-CC-VD
attr BZ_VD peerIDs
attr BZ_VD subType thermostat
attr BZ_VD webCmd getConfig:clear msgEvents

define va CUL_HM 112233
attr va IODev HM_LAN
attr va autoReadReg 4_reqStatus
attr va expert 2_full
attr va model virtual_1
attr va msgRepeat 0
attr va peerIDs
attr va subType virtual

define vtc1 CUL_HM 11223301
attr vtc1 model virtual_1
attr vtc1 peerIDs 1FA21801,
attr vtc1 webCmd press short:press long


Allerdings klappt es so noch nicht. Versuche, die Valveposition per "set vtc1 valvePos 20" zu verändern, quittiert FHEM mit
2014-05-28 11:06:48 CUL_HM BZ_VD set_20.0 %
2014-05-28 11:06:48 CUL_HM BZ_VD ValveDesired: 20.0 %
2014-05-28 11:06:48 CUL_HM vtc1 valveCtrl: init
2014-05-28 11:06:48 CUL_HM va CMDs_pending
2014-05-28 11:06:49 CUL_HM vtc1 valvePosTC: 20.0 %
2014-05-28 11:06:49 CUL_HM vtc1 ValveAdjust:20.0 %
2014-05-28 11:06:54 CUL_HM va ResndFail
2014-05-28 11:06:54 CUL_HM va CMDs_done_Errors:1
2014-05-28 11:06:54 CUL_HM va MISSING ACK
2014-05-28 11:06:58 CUL_HM vtc1 valveCtrl: miss_1

usw.

Mache ich etwas falsch bzw. habe ich einen Schritt ausgelassen? Oder hat sich an der Vorgehensweise mittlerweile etwas verändert?

Bennemannc

Hallo,

ich vermisse das peerChan. Es ist wichtig, den virtuellen Button mit dem VD zu peeren damit dieser weiß wohin er senden soll.
set virtual_Button_1 peerChan 0 BZ_VD set und dann am VD einmal Config auslösen (Knopf drücken) damit der VD lernt mit wem er zusammen arbeiten soll bzw. wer ihm sagt was er machen soll.
Die Befehle gehen nicht sofort raus. Der VD meldet sich von sich aus regelmäßig und frag was er machen soll. Also dauert es etwas, bis der VD öffnet oder schließt.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

Brockmann

Zitat von: Bennemannc am 28 Mai 2014, 11:45:32
am VD einmal Config auslösen (Knopf drücken) damit der VD lernt mit wem er zusammen arbeiten soll bzw. wer ihm sagt was er machen soll.
Ah, das ist schon mal ein guter Hinweis. Das habe ich jetzt mal so ausprobiert, also
set BZ_Heizung peerChan 0 BZ_VD single set
und dann am VD kurz den Knopf gedrückt. Der zeigt dann das Funksymbol an, aber sonst passiert nichts, auch im Logfile steht nichts ausser diesem Befehl. Nach einer Weile geht der VD dann auf die 15%-Störungseinstellung.
Wenn ich dann mal testweise ein set BZ_Heizung valvePos 20 absetze, kommen wieder die oben beschriebenen Fehler. Irgendwas mache ich noch falsch.

Der VD muss aber vorher schon mit dem HM-LAN gepairt sein, sonst habe ich ja nichts, was ich beim peerChan angeben könnte, oder?

Bennemannc

Hallo,

grundsätzlich immer erst pairen mit fhem und dann die devices untereinander peeren.
Wieso jetzt BZ_Heizung ? Hat der Virtuelle TC einen alias ?
Noch einmal - das was ich gemacht habe.
Virtuellen TC (Thermostat Ersatz) definieren
Pro zu steuerndem VD einen Butten zuordnen (set Virtueller_TC virtual 2)
Die Buttons dann mit den VD peeren (set Virtueller_TC_Btn_1 perChan 0 VD single set) - config am VD drücken
getConfig für den VD aufrufen und config am VD drücken zum kontrollieren ob der den peer eingetragen hat.

Nachsehen kann ich das, was ich damals gemacht habe nicht mehr. Ich habe mittlerweile eine richtigen TC, der die VD's steuert. Ich hatte auch mit der Variante so meine Probleme. Da war ein Ventil, das immer wieder auf Error (15%) ging. Ich habe nie herausgefunden warum - wenn das neu verbunden wurde, war es wieder eine zeitlang gut. Kann sein, das der weniger vom Funksignal mitbekommen hat (der HMLAN war eine Etage höher) - jetzt sitzt der TC ja im gleichen Raum wie die VD's und ich habe keine Probleme mehr.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF

martinp876

wenn du gepairt hast - und dann gepeert hast - und die Config gelesen wurde sollte der Peer erst einmal in peerList stehen.
Dann kannst du
set <virtVd> valvePos 30
eingeben. FHEM wird dies nun zyklisch senden. Das Problem ist, dass der VD zum richtigen Zeitpunkt aufwacht. Wenn die beiden synchron sind sollte es klappen.
Wenn man anlernen drückt sollte der VD aktiv schalten und es sollte funktionieren.
Beachte dass du ggf 3-6 min warten musst - es wird nur alle 2-3 min eine message gesendet.
Du kannst dann  mit einem neuen valvePos jederzeit den Wert ändern - aber: der VD wird ihn erst beim nächsten Aufwachen übernehmen - also bis zu 3 min später. Geduld ist also angesagt in diesem Fall.

Brockmann

Der virtuelle TC scheint mir zu funktionieren, nur die Kommunikation zwischen HM-LAN und VD kommt nicht in Gang. Mittlerweile habe ich da 13 CMDs in der Queue, die nicht abgearbeitet werden, egal wie oft ich den Knopf drücke.

Inzwischen habe ich mich entschlossen, den HM-WDS40-TH durch einen echten TC zu ersetzen. Die bekommt ja inzwischen für recht kleines Geld und die Feuchtigkeit für die Lüftersteuerung liefert der mir auch. Und dazu kommt, dass der TC die ganze Steuerung Temperatur->Ventilstellung autark erledigt und ich mich nicht mit PID o. ä. beschäftigen muss. Ich denke, das ist die robustere und bessere Lösung.

Trotzdem Danke für die Hilfe hier!  :)

Bennemannc

Hallo,

habe ich auch so gemacht. Wie schon geschrieben, hatte ich mit einem VD Probleme, die nach der Installation des TC nicht mehr auftraten. Ich vermute immer noch Funkprobleme als Ursache - aber mal sehen, ich bin in der Bucht noch auf der Suche nach einem VD, den ich mit einem CC-RT-DN steuern möchte. Der ist dann näher am HMLAN - mal sehen ob das dann besser klappt.

Gruß Christoph
Cubietruck, Fhem 5.8
CC-RT-DN|LC-SW2-FM|RC-12|RC-19|LC-SW4-BA-PCB|LCp-SW1-BA-PCB|ES-PMSw1-Pl|LC-Bl1PBU-FM|PBI-4-FM|CC-VD|CC-TC|SEC-SC(2)|RC-KEY3-B|LC-Sw1PBU-FM|PB-2-FM|WDS100-C6-O|WDC7000|LC-Bl1-FM
Module: Dewpoint,FB_Callmonitor,HCS,Panstamp,at,notify,THRESHOLD,average,DOIF