FHEM Forum

FHEM - Hausautomations-Systeme => Homematic => Thema gestartet von: frankbeckers am 01 April 2014, 23:01:48

Titel: alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: frankbeckers am 01 April 2014, 23:01:48
Hallo zusammen,

falls es jemand gebrauchen kann, hier eine kleine Lösung um alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell in den Nachmodus zu setzen.

Dummy Device um einen Mode zu setzen
define HeizkoerperMode dummy
attr HeizkoerperMode room Heizkörper
attr HeizkoerperMode setList auto boost day night
attr HeizkoerperMode devStateIcon auto:time_automatic boost:temp_temperature_max@red day:weather_sun@red night:weather_moon_phases_8@red
attr HeizkoerperMode icon temp_inside
attr HeizkoerperMode webCmd auto:boost:day:night


Notify Device um den Auftrag entgegen zu nehmen und die entsprechenden Befehle auszuführen
define HeizkoerperModeSet notify HeizkoerperMode:.* {\
foreach(devspec2array("model=HM-CC-RT-DN:FILTER=chanNo=04")) { fhem("set $_ controlMode $EVENT");; }\
foreach(devspec2array("model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02")) { fhem("set $_ controlMode $EVENT");; }\
}
attr HeizkoerperModeSet room Heizkörper


oder vereinfacht
define HeizkoerperModeSet notify HeizkoerperMode:.* set model=HM-CC-RT-DN:FILTER=chanNo=04 controlMode $EVENT;; set model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlMode $EVENT
attr HeizkoerperModeSet room Heizkörper


readingsGroup zur Anzeige des gesetzten Modus
define HeizkoerperModes readingsGroup .*:mode
attr HeizkoerperModes room Heizkörper


Nun kann am Dummy Device per Set der gewünschte Mode gesetzt werden. Dies mündet dann in mehrere Befehle:

set (HM-CC-RT-DN_Clima|HM-TC-IT-WM-W-EU_Climate) controlMode (auto|boost|day|night)

Gruß
Frankie
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: TomWest am 02 April 2014, 08:37:48
Vielen Dank, kann ich zwar im Moment nicht brauchen, gefällt mir aber trotzdem!  :)
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: coolice am 02 April 2014, 11:51:10
Danke. Genau das habe ich gesucht. Werde ich gleich einbauen.

Grüße
Mirco


Gesendet von meinem iPhone mit Tapatalk
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: le66ck am 02 April 2014, 18:17:16
Hallo

Hab das gerade leicht abgeändert ausprobiert

define HeizkoerperMode dummy
attr HeizkoerperMode room Heizkörper
attr HeizkoerperMode setList auto boost day night
define HeizkoerperModeSet notify HeizkoerperMode:.* {\
foreach(devspec2array("model=HM-CC-RT-DN:FILTER=chanNo=04")) { fhem("set $_ controlMode $EVENT");; }\
}
attr HeizkoerperModeSet room Heizkörper
define HeizkoerperModes readingsGroup .*:mode
attr HeizkoerperModes room Heizkörper
set (ThermostatStube_Clima) controlMode (auto|boost|day|night)


Danach kommt diese Fehlermeldung: configfile: invalid (auto|boost|day|night):select of mode [auto|boost|day|night] or controlManu,controlParty

Ich habe keine HM-TC-IT-WM-W-EU, deswegen fehlt die Codezeile dazu.
Und HM-CC-RT-DN_Clima in der letzten hab ich ersetzt durch ThermostatStube_Clima (mein Name dazu).

Was fehlt oder ist noch falsch!?

CK
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: frankbeckers am 02 April 2014, 20:53:20
Zitat von: le66ck am 02 April 2014, 18:17:16
...
set (ThermostatStube_Clima) controlMode (auto|boost|day|night)
...

Danach kommt diese Fehlermeldung: configfile: invalid (auto|boost|day|night):select of mode [auto|boost|day|night] or controlManu,controlParty

...

Dieser Set Befehl ist kein echter... war nur zur Verdeutlichung aufgeführt.

Aus

...
foreach(devspec2array("model=HM-CC-RT-DN:FILTER=chanNo=04")) { fhem("set $_ controlMode $EVENT");; }\
...


heraus werden die Set Befehle ausgeführt, wobei der Filter model=HM-CC-RT-DN:FILTER=chanNo=04 die entsprechenden Devices/Channels sucht.

Ich bediene danach das Dummy Device. Denn dort gibt es dann eine Button Set mit den Modi.



Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: le66ck am 02 April 2014, 21:51:57
Hallo frankbeckers

Passt!
Ich hab nicht an jeden Thermostat nachgeschaut, es scheint zu gehen.
Ich bin gerade dabei, einige Sachen zu verstehen. Da schien mir Dein Code genau richtig für mich.
Da es funktioniert kann ich darauf aufbauen...

Jetzt müssten für verschiedenen Modi noch Icons ö.a. hinterlegt werden, vielleicht mit farblicher Rückmeldung oder so...
Ich wäre dankbar wenn Du oder @alle ein paar Hinweise, Stichwörter bzw. Links dazu postet?
Nicht unbedingt vorsagen, will ja dabei lernen...

CK
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: Bennemannc am 03 April 2014, 07:22:24
Hallo,

dafür gibt es das devStateIcon - der Aufbau ist:
aktueller_Zustand:icon_für_diesen_Zustand:Befehl_bei_klicken_auf_icon
z.B. day:Icon_Mond:night night:Icon_sonne:day

Gruß Christoph

PS. Davon können auch mehre dieser Ausdrücke - durch Leerzeichen getrennt - hintereinander stehen.
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: frankbeckers am 03 April 2014, 21:09:35
Gute Idee

Zitat von: Bennemannc am 03 April 2014, 07:22:24
dafür gibt es das devStateIcon - der Aufbau ist:
aktueller_Zustand:icon_für_diesen_Zustand:Befehl_bei_klicken_auf_icon
z.B. day:Icon_Mond:night night:Icon_sonne:day

Habe meinen Vorschlag etwas "aufgehübscht"...

attr HeizkoerperMode devStateIcon auto:time_automatic boost:temp_temperature_max@red day:weather_sun@red night:weather_moon_phases_8@red
attr HeizkoerperMode icon temp_inside
attr HeizkoerperMode webCmd auto:boost:day:night


...werde auch das erste Posting erweitern.
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: le66ck am 03 April 2014, 21:19:40
Hallo frankbeckers

Danke! Geht!
Zum verstehen heute nicht mehr.

CK
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: frankbeckers am 06 April 2014, 22:45:44
Durch die Erkenntnisse  8) aus http://forum.fhem.de/index.php/topic,22251.0.html (http://forum.fhem.de/index.php/topic,22251.0.html) lässt sich das Notify Device auch noch sehr viel einfacher aufbauen:

Zitatdefine HeizkoerperModeSet notify HeizkoerperMode:.* set model=HM-CC-RT-DN:FILTER=chanNo=04 controlMode $EVENT;; set model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlMode $EVENT
attr HeizkoerperModeSet room Heizkörper

P.S. passe das erste Postings an
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: justl82 am 09 April 2014, 13:33:47
Wenn ich jetzt zwei Ventile habe wie muß ich das denn da machen? Eins heißt Heizung_Wohnzimmer und eins Heizung_Kueche.

LG Micha
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: le66ck am 09 April 2014, 14:16:52
Hallo Micha

Eigentlich nichts.

define HeizkoerperModeSet notify HeizkoerperMode:.* set model=HM-CC-RT-DN:FILTER=chanNo=04 controlMode $EVENT;; set model=HM-TC-IT-WM-W-EU:FILTER=chanNo=02 controlMode $EVENT
attr HeizkoerperModeSet room Heizkörper


Es wird hier bestimmt nach dem "model=HM-CC-RT-DN" gesucht/gefilter und ein "chanNo=04" gibt es auch, die gibt es!
Bei mir heißen die Thermostate auch anders.
Und ganz wichtig, es funktioniert!

CK
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: justl82 am 09 April 2014, 15:23:27
Ok danke, noch eine Frage kann man das so machen das man auf dem Frontend dann einen Schalter hat anstatt den Befehl zum Schalten einzugeben?

Danke LG Micha
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: le66ck am 09 April 2014, 15:27:12
Probier's doch einfach...und freuen...!

CK
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: justl82 am 09 April 2014, 16:05:21
Ok, amch ich dann mal. Eins noch, kommt das alles in die fhem.cfg oder? Ich weiß blöde Frage aber ich bin noch nicht so ein Profi in FHEM.

LG Micha
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: le66ck am 09 April 2014, 16:29:46
Ja, speichern..., danach shutdown restart und im Log-File nachschauen ob es (keine) Problemen gibt.

CK
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: frankbeckers am 09 April 2014, 21:00:23
Zitat von: justl82 am 09 April 2014, 15:23:27
Ok danke, noch eine Frage kann man das so machen das man auf dem Frontend dann einen Schalter hat anstatt den Befehl zum Schalten einzugeben?

Folgender Command
attr HeizkoerperMode webCmd auto:boost:day:night
baut die "Schalter".

Hab im ersten Posting einen Screenshot angehangen. Die vier Modi (rechte Seite) sind anklickbar und lösen die entsprechende Aktion aus.
Titel: Antw:alle HM-CC-RT-DN und HM-TC-IT-WM-W-EU manuell z.B. in den Nachtmodus setzen
Beitrag von: Maergsche am 04 Dezember 2018, 11:08:05
Moin,
ja das Thema ist alt, aber ich hab es ja auch gerade über die Suchfunktion gefunden und ich möchte meine Version hier gerne Ergänzen !


define EcoTaster_Web dummy
attr EcoTaster_Web devStateIcon .*:time_eco_mode
attr EcoTaster_Web room Haus
attr EcoTaster_Web setList controlMode:auto,eco,day,night
attr EcoTaster_Web webCmd Auto:Eco:Day:Night

define EcoTasterModeSet notify EcoTaster_Web.* {\
  foreach(devspec2array("model=HM-CC-RT-DN:FILTER=chanNo=04"))  {\
    if ($EVENT eq "Eco") {\
      fhem("set $_ controlManu 17")\
    }\
    elsif ($EVENT eq "Auto") {\
      fhem("set $_ controlMode auto")\
    }\
    elsif ($EVENT eq "Day") {\
      fhem("set $_ controlMode day")\
    }\
    elsif ($EVENT eq "Night") {\
      fhem("set $_ controlMode night")\
    }\
  }\
}
attr EcoTasterModeSet room SystemLogik