FHEM: Heizungssteuerung per Anwesenheitserkennung

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Im vorangegangenen Artikel Neue Thermostate von HomeMatic: High-End Heizungssteuerung zum kleinen Preis mit FHEM wurde der HomeMatic Funk-Stellantrieb HM-CC-RT-DN (Affiliate-Link) bereits vorgestellt. In diesem Artikel sollen weitere f√ľr die Einrichtung relevante Details beschrieben werden, um bspw. zu zeigen, wie √ľber eine Anwesenheitserkennung per Bluetooth die Raumtemperatur automatisch angepasst werden kann. Dadurch sollen insgesamt nicht nur der Komfort gesteigert, sondern „nebenbei“ auch noch die Heizkosten gesenkt werden. Dabei wird auch beschrieben, was es mit der sogenannten Burst-Funktion auf sich hat und wie diese aktiviert werden kann.

Installation am Heizkörper

Als erstes muss der alte Drehregler am Heizk√∂rper demontiert werden. Das geht im Regelfall durch das einfache L√∂sen der Schraube am Drehregler selbst. Danach kann der Funk-Stellantrieb HM-CC-RT-DN (Affiliate-Link) √ľber einen der mitgelieferten Adapter am Heizk√∂rper (siehe Bild links) angebracht werden.

Es sind mehrere Adapter f√ľr die Marken Comap, Heimeier, Honeywell-Braukmann, Idmar, Jaga, Junkers, Landis&Gyr (Duodyr), Mertik Maxitrol, MNG, Oventrop, R.B.M., Schl√∂sser, Siemens, Tiemme, Valf Sanayii, Watts, Wingenroth (Wiroflex) im Lieferumfang, so dass die Installation kein Problem darstellen sollte.

Ist der Stellantrieb korrekt montiert, k√∂nnen die AA-Batterien eingelegt werden. Nachdem lnS im Display zu sehen ist, kann durch das Drehrad das aktuelle Datum (Jahr -> Monat -> Tag -> Stunde -> Minute) eingestellt werden. Die jeweiligen Eingaben √ľber das Drehrad werden durch die mittlere Taste (Heizk√∂rper-Symbol) jeweils best√§tigt. Danach kann die Adaptierfahrt gestartet werden, sobald wieder lnS auf dem Display erscheint.

Dazu kurz die mittlere Taste (Heizk√∂rper-Sympbol) dr√ľcken. W√§hrend der Adaptierfahrt steht AdA auf dem Display. M√∂chte man den Adapter einmal komplett resetten, entnimmt man die Batterien und h√§lt beim erneuten Einlegen der Batterien alle drei Tasten an der Oberseite gedr√ľckt.

Anlernen in FHEM

Gekoppelt wird der Funk-Stellantrieb, wie jeder andere HomeMatic-Adapter auch, direkt in der Weboberfl√§che des FHEM-Servers √ľber den Kommandozeilenbefehl:

set HMLAN1 hmPairForSec 60

Mit einem anschlie√üenden Druck auf die Enter-Taste ist der¬†HMLan-Adapter (Affiliate-Link) ab jetzt f√ľr 60 Sekunden bereit f√ľr neue Ger√§teanmeldungen. Wer statt HMLAN1 einen anderen Namen vergeben hat, muss den Eintrag entsprechend anpassen.

Um den Anlernvorgang einzuleiten, muss die mittlere Ger√§tetaste (Heizk√∂rper-Sympbol) des Funk-Stellantrieb f√ľr mindestens drei Sekunden gedr√ľckt werden. Daraufhin steht der Adapter sofort in FHEM zur Verf√ľgung. Der Funk-Stellantrieb besitzt jede Menge Kan√§le (Channels), die nachfolgend erkl√§rt werden. Hier wird auch gleich eine Umbenamung √ľber die FHEM-Kommandozeile vorgenommen, um sprechende Namen (in diesem Fall WZ.Heizung) zu erhalten. Weitere Infos zu den Channels und deren Funktionen gibt es auch im FHEM-Wiki.

#Hier wird das Hauptdevice umbenannt, welches die darunter aufgelisteten Channels beinhaltet.
rename CUL_HM_HM_CC_RT_DN_23578A WZ.Heizung
attr WZ.Heizung room Wohnzimmer

#Hier kann die Temperatur eingestellt werden -> siehe 99_MyUtils.pm f√ľr zeitgesteuerte Programmierung — kann anstatt _Clima wohl auch mit _ClimRT_tr benannt sein
rename CUL_HM_HM_CC_RT_DN_23578A_Clima WZ.Heizung_Clima
attr WZ.Heizung_Clima room Wohnzimmer

#Keine Beschreibung vorhanden
rename CUL_HM_HM_CC_RT_DN_23578A_Climate WZ.Heizung_Climate
attr WZ.Heizung_Climate room Wohnzimmer

#Peeren mehrerer Stellantriebe untereinander
rename CUL_HM_HM_CC_RT_DN_23578A_ClimaTeam WZ.Heizung_ClimaTeam
attr WZ.Heizung_ClimaTeam room Wohnzimmer

#Fernbedienung koppeln/peeren
rename CUL_HM_HM_CC_RT_DN_23578A_remote WZ.Heizung_remote
attr WZ.Heizung_remote room Wohnzimmer

#HM-Temperatursensor (HM-WDS10-TH-O und HM-WDS40-TH-I-2) peeren
rename CUL_HM_HM_CC_RT_DN_23578A_Weather WZ.Heizung_Weather
attr WZ.Heizung_Weather room Wohnzimmer

#Fensterkontakte (HM-SEC-SC und HM-SEC-RHS) peeren
rename CUL_HM_HM_CC_RT_DN_23578A_WindowRec WZ.Heizung_WindowRec
attr WZ.Heizung_WindowRec room Wohnzimmer

Danach „Save config“ in FHEM anklicken, um die √Ąnderungen dauerhaft zu speichern.

Temperatursteuerungs-Modi

Der HomeMatic Funk-Stellantrieb HM-CC-RT-DN (Affiliate-Link) hat drei verschiedene Modi, um die gew√ľnschte Raumtemperatur zu setzen. Diese lassen sich am Stellantrieb √ľber die linke Ger√§tetaste (Uhr-Symbol) wechseln. Auf dem Display wird der jeweilige Modus als Symbol angezeigt.

  • Auto – Die gew√ľnschte Temperatur wird minutengenau √ľber Schaltzeitpunkte (siehe 99_MyUtils.pm unten) festgelegt. Ein Temperatur√§nderungswunsch ist jederzeit per Einstellrad m√∂glich, der dann bis zum n√§chsten Schaltzeitpunkt g√ľltig ist.
  • Man(uell) –¬† Gew√ľnschte Temperatur manuell per Einstellrad festlegen bzw. √ľber die FHEM-Zentrale definieren, z.B. per Anwesenheitserkennung (siehe unten)
  • Party (Urlaub) – Auto-Werte werden f√ľr einen gew√ľnschten Zeitraum √ľberschrieben

Auto-Modus: Zeitgesteuerte Temperatursteuerung

Die einfachste M√∂glichkeit ist die zeitgesteuerte Heizungssteuerung. Einmal eingerichtet, verrichtet der Stellantrieb im Auto-Modus seinen Dienst komplett ohne FHEM-Zentrale. Die Einrichtung l√§sst sich manuell am Stellantrieb selbst durchf√ľhren oder aber bequemer √ľber FHEM. Dazu wird die Config-Datei namens 99_myUtils.pm bearbeitet. Sofern schon eigene Scripte in FHEM eingebunden sind, existiert diese Datei bereits und ist in der FHEM-Seitenleiste unter „Edit files“ 99_myUtils.pm aufzufinden.

Ist der Eintrag nicht vorhanden, kann man die Datei mit einem kleinen Umweg erzeugen. Dazu w√§hlt man erstmal die fhem.cfg aus und speichert den Inhalt ohne √Ąnderung mit dem Button „Save as“ und der Angabe des Namens 99_myUtils.pm ab.

Daraufhin sollte nun unter „Edit files“ die Datei „99_myUtils.pm“ zu finden sein. Datei √∂ffnen und den dortigen Inhalt l√∂schen, welcher im vorherigen Schritt von der fhem.cfg √ľbernommen wurde. War die Datei bereits ohne den obigen Umweg vorhanden, l√§sst man den Inhalt nat√ľrlich unber√ľhrt.

Folgender Inhalt muss dann in jedem Fall in der Datei¬†99_myUtils.pm erg√§nzt werden (die Zeilen bis zur ersten Raute m√ľssen weggelassen werden, sofern diese bereits in der Datei einmal vorhanden sind):

package main;
use strict;
use warnings;
use POSIX;
sub
myUtils_Initialize($$)
{
my ($hash) = @_;
}
######## WZ.Heizung Temperatur setzen ########
#Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl {SetTempList_WZ_Heizung}
sub
SetTempList_WZ_Heizung()
{
{ fhem („set WZ.Heizung_Clima tempListMon prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
{ fhem („set WZ.Heizung_Clima tempListTue prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
{ fhem („set WZ.Heizung_Clima tempListWed prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
{ fhem („set WZ.Heizung_Clima tempListThu prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
{ fhem („set WZ.Heizung_Clima tempListFri prep 05:30 20.0 07:00 21.0 15:00 22.0 20:30 23.0 24:00 20.0“)};
{ fhem („set WZ.Heizung_Clima tempListSat prep 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
{ fhem („set WZ.Heizung_Clima tempListSun exec 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
}
1;

1; muss dabei nur einmal am Ende der Datei stehen. Wer also noch bereite weitere Einträge in der 99_myUtils.pm stehen hat, muss darauf achten, dass der Eintrag nicht mehrfach vorkommt.

Nach der Anpassung wird die Datei mit dem Button „Save 99_myUtils.pm“ abgespeichert. Jetzt kann die gew√ľnschte Konfiguration, wie im obigen Code bereits vermerkt, per FHEM-Kommandozeilenbefehl auf den Stellantrieb √ľbertragen werden:
{SetTempList_WZ_Heizung}

In spätestens 2,5 Minuten ist die Konfiguration dann auf dem Stellantrieb gespeichert.

Manuell-Modus: Temperatursteuerung √ľber Anwesenheitserkennung

Mit einer Anwesenheitserkennung √ľber Bluetooth, wie sie im Artikel Mit FHEM Push-Nachrichten aufs iPhone schicken (Update) beschrieben ist, kann man den Manuell-Modus (etwas verwirrende Bezeichnung, ich weiss) dazu nutzen, automatisch bei Anwesenheit die Temperatur zu erh√∂hen bzw. bei Abwesenheit auf ein Minimum zu vermindern und dadurch Energie sparen. Das Beispiel ist noch nicht sonderlich komplex, da ich selbst noch nicht viel Erfahrung sammeln konnte. Es zeigt aber grunds√§tzlich, welche Befehle f√ľr eine Temperatur√§nderung am Stelladapter notwendig sind.

Diese Beispiele setzen eine Anwesenheitserkennung voraus, bei dem der Dummy HA.Jay eingesetzt wird (siehe Artikel Mit FHEM Push-Nachrichten aufs iPhone schicken (Update)).

#Wunschtemperatur festlegen f√ľr Abwesenheit
define HAJayOffSetTempLow notify HA.Jay:off {fhem(„set WZ.Heizung_Clima desired-temp 10.5 set WZ.Heizung burstXmit“)}

#Wunschtemperatur festlegen f√ľr Anwesenheit
define HAJayOnSetTempHigh notify HA.Jay:on {fhem(„set WZ.Heizung_Clima desired-temp 22.5 set WZ.Heizung burstXmit“)}

Durch set WZ.Heizung burstXmit wird bewirkt, dass der Temperatur√§nderungswunsch umgehend auf den Stellantrieb √ľbertragen wird. Im Lieferumfang ist diese Burst-Funktion deaktiviert, um Batterien zu sparen. Es wird dabei nur alle 2,5 Minuten ein Lebenszeichen vom Stellantrieb an die Zetrale geschickt, wobei dann auch kurz Befehle von der Zentrale zum Stellantrieb √ľbertragen werden k√∂nnen.

M√∂chte man die Burst-Funktion nicht nutzen, kann bei obigen Befehlen set WZ.Heizung burstXmit weggelassen werden. M√∂chte man die Burst-Funktion aktivieren, welche eine sofortige √úbertragung neuer Befehle bewirken, muss man dies √ľber die Windows¬†Konfigurationsadapter-Sofware von HomeMatic realisieren.

In der Windows-Software koppelt man den HomeMatic Funk-Stellantrieb, wie es im Artikel Keymatic per HMLan am FHEM-Server anlernen am Beispiel des Keymatic beschrieben ist.

Selektiert man den gekoppelten Stellantrieb in der Software und w√§hlt „Einstellen„, l√§sst sich die Option „Wake on Radio“ aktivieren, welche die Burst-Funktion aktiviert. Jetzt noch die neuen Einstellungen auf den Stellantrieb √ľbertragen und ab sofort k√∂nnen die gew√ľnschten Befehle mit „set WZ.Heizung burstXmit“ von der FHEM-Zentrale sofort auf den Stellantrieb √ľbertragen werden.

Aus meinem täglichen Leben

Die Möglichkeit zum Energiesparen sind gerade beim automatischen Heizen auf Basis der Anwesenheitserkennung nicht zu verachten. Aber auch mit passgenauen, zeitbasierten Settings lassen sich im Vergleich zu einem normalen Regler sicherlich noch Einsparungen realisieren. Ich selbst habe die Funk-Stellantriebe HM-CC-RT-DN nocht nicht lange im Einsatz, bin aber bis jetzt sehr zufrieden damit.

Bis auf ein leises Motorger√§usch bei Justierung des Heizk√∂rperdurchflusses ist sie nicht wahrnehmbar. Auch die schnelle Temperatur√§nderung √ľber das Drehrad ist wirklich praktisch, wenn man einmal schnell √Ąnderungen vornehmen m√∂chte. Die LED-Anzeige ist dann f√ľr 10 Sekunden beleuchtet, so dass es auch beim Ablesen bei Dunkelheit keine Probleme gibt. HomeMatic gibt eine Batterielebensdauer von bis zu 1,5 Jahren an (Quelle). Hier bin ich einmal gespannt, wie lange die Batterien tats√§chlich durchalten, wenn die Option „Wake on Radio“ aktiviert ist.

Installationsschwierigkeiten sollte es insgesamt auch nicht geben, da dem Stellantrieb mehrere Adatper (siehe Bild link) f√ľr verschiedene Marken beiliegen. Ich hatte bei der Erstinstallation lediglich das Problem, dass ich den Plastikadapter nicht weit genug √ľber das Ventil gesteckt hatte und der darauf geschraubte Stelladapter infolgedessen wackelig war. Wer diesen Tipp im Hinterkopf beh√§lt, sollte jedoch vorab keine Schwierigkeiten haben.

Koppeln l√§sst sich der HomeMatic Funk-Stellantrieb √ľbrigens auch direkt mit Fensterkontakten, wie dem HomeMatic Funk-T√ľr-/Fensterkontakt (Affiliate-Link), um bei ge√∂ffnetem Fenster den Heizk√∂rper automatisch zu drosseln. In diesem Fall kann die automatische Fenster-Auf-Erkennung des Stellantriebs mit folgendem FHEM-Kommandozeilenbefehl permanent deaktiviert werden:

set WZ.Heizung regSet winOpnMode off

Zum Schluss sei noch erw√§hnt, dass der HomeMatic Funk-Stellantrieb auch einen eigenen Temperatursensor besitzt (wird standardm√§√üig f√ľr die automatische Fenster-Auf-Erkennung genutzt), welcher jedoch aufgrund der N√§he zum Heizk√∂rper bei eingeschaltetem Heizk√∂rper eine zu hohe Temperatur an FHEM √ľbermittelt.

Dieser Wert l√§sst sich standardm√§√üig um einen gew√ľnschten Grad-Wert anpassen, wovon ich jedoch eher absehen w√ľrde, da der Wert dann zumindest korrekt ist, wenn (im Sommer) nicht geheizt wird. Wer eine m√∂glichst genaue Messung der Raumtemperatur m√∂chte, kann stattdessen den Temperatursensor HM-WDS-IT (Affiliate-Link) an den gew√ľnschten Ort aufzustellen und diesen mit dem¬†Funk-Stellantrieb (Affiliate-Link) peeren, also direkt verbinden. In diesem Fall nimmt der Stellantrieb diesen Temperaturwert als Referenz, wodurch die Heizungssteuerung exakter wird.

Affiliate-Links

[easyazon_image align=“none“ height=“110″ identifier=“B00CFF3410″ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31NBRkCErXL.SL1106.jpg“ tag=“meintechblog-131222-21″ width=“95″][easyazon_image align=“none“ height=“82″ identifier=“B002BJV9GC“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31D0PVWA6PL.SL1101.jpg“ tag=“meintechblog-131222-21″ width=“110″][easyazon_image align=“none“ height=“83″ identifier=“B001HN7C6E“ locale=“DE“ src=“https://www.meintechblog.de/wordpress/wp-content/uploads/2015/06/31EtAPbzHWL.SL110.jpg“ tag=“meintechblog-131222-21″ width=“110″]

 

Loxone im Einsatz? Dann schau dir unseren LoxKurs an und profitiere von unserem Wissen!

Verpasse keine Inhalte mehr! Trage dich in den Newsletter ein und folge uns auf Facebook.

Was ist ein Affiliate-Link? Wenn du auf einen Affiliate-Link klickst und √ľber diesen Link einkaufst, bekomme ich vom betreffenden Online-Shop oder Anbieter eine Provision, was mich u.A. bei den laufenden Kosten den Blogs unterst√ľtzt. F√ľr dich ver√§ndert sich der Preis nicht.

Jörg

hat meintechblog.de ins Leben gerufen, um seine Technikbegeisterung und Erkenntnisse zu teilen. Er veröffentlicht regelmäßig Howtos in den Bereichen Smart Home und Home Entertainment. Mehr Infos

35 Gedanken zu „FHEM: Heizungssteuerung per Anwesenheitserkennung“

  1. Hallo Jörg,
    ich versuche √ľber den Fensterkontakt den Regler per FHEM zu steuern und habe dazu folgende beiden kleinen Routinen geschrieben:
    sub
    TuerOffen()
    {
    local $a=5;
    print $a;
    $a = {fhem („get EZ.Heizung1_Clima param desired-temp“)};
    print „zweiter befehl“,$a;
    {fhem („set EZ.Heizung1_Clima desired-temp off;;set EZ.Heizung1_Clima burstXmit;;set T1.Oeffnung on“)};
    }
    sub
    TuerZu()
    {
    {fhem („set EZ.Heizung1_Clima desired-temp $a;;set EZ.Heizung1_Clima burstXmit;;set T1.Oeffnung on“)};
    }

    Egal, was ich bei Print eingebe, es kommt immer 1 zur√ľck. Das ist ein etwas seltsames verhalten. Hast Du eine Idee? Der regler l√§sst sich ja nicht direkt mit dem Kontakt pairen, wenn er schon mit dem FHEM gepaired ist.

    THX,
    Jens

    1. Der neue Funk-Stellantrieb HM-CC-RT-DN besitzt doch extra den Channel CUL_HM_HM_CC_RT_DN_23578A_WindowRec, welcher genau dazu gedacht ist direkt mit einem Fensterkontakt gepeert zu werden. Das sollte dein Problem doch lösen, oder?
      Dein Print-Problem kann ich leider nicht nachvollziehen, sorry. Da fehlt mir aktuell schlicht noch das Hintergrundwissen.
      Gr√ľ√üe
      Jörg

    2. Das Printproblem ist nebens√§chlich, war nur Debug, eigentlich wollte ich die aktuelle Desired_Temp in eine Variable lesen und nach dem Schlie√üen des Fensterkontakts zur√ľcksetzen. Da das nicht funktionierte habe ich versuchet die Variable an StdOut zu drucken, also auf die Konsole.

      Der Chanel ist da nur kann ich den Kontakt nicht ohne Originalsoftware peeren, da ich nicht weiß, was da in das Register reingeschrieben werden muss. Pairen geht nur, wenn keine Zentrale zugewiesen ist, wenn der Kontakt gepaired ist geht es nicht mehr mit der Zentrale. Ich habe jetzt erst einmal einen USB Stick bestellt um mit der original Software zu Konfigurieren und dann per Auslesen der Register zu sehen was rein muss. Ergebnisse folgen.
      Gruß,
      Jens

    3. PS: Die Burst Funktion l√§sst sich auch per FHEM mittels „set regset burstRX on“ aktivieren.
      Die setzbaren Register inkl. Erl√§uterung bekommt man √ľber „get regList“ angezeigt

  2. Hallo,

    das ist eine super Sache mit der Anwesenheitserkennung, aber leider funktioniert das nur bis ich FHEM einmal neu starte. Nach dem Neustart funktioniert die Funktion burstRx nicht mehr, auch durch neues Setzen der Option, bekomme ich es nicht wieder zum Laufen. Nur das Komplette zur√ľcksetzen des Thermostates funktioniert dann. Mit der Aktuellen Software, von Homematic bekomme ich keine Ger√§te gepaart.

    Habt Ihr eine Idee?

    1. Hallo Daniel,
      das funktioniert bei mir einwandfrei. Die burstRX kann ich l√∂schen und setzen √ľber fhem, das Pairen mit der Zentrale funktioniert nur mit entweder original oder fhem. Gleichzeitig geht nicht, dann muss Du √ľber die Zentrale bzw. fhem zuerst wieder Unpair durchf√ľhren.

  3. Hallo,
    leider lässt sich bei mir die Wake-on-Radio Option nicht setzen. Diese ist in der WebUI schlichtweg nicht vorhanden. Allgemein sieht das Einstellungsdialog ziemlich unterschiedlich als das vom Screenshot. Manche Einstellungen sind da (z.B. die 3 Sperren), die anderen wiederum nicht (Beleuchtung, Batterie, etc.).
    Gibt es eine Art „expert mode“ oder sind die Einstellungen in meiner Version nicht mehr da? HomeMatic Konfigurator V1.512.
    Oder lässt sich die Firmware der neugekaufeten Thermostate upgraden? Aktuell 1.1 laut FHEM

    1. Hi Nikolay,
      gute Frage… Ich hab den HomeMatic Konfigurator V1.511 im Einsatz und das Thermostat besitzt ebenfalls Firmware 1.1, die √ľbrigens nur vom Hersteller auf eine neue Version gebracht werden kann. Eine Experteneinstellung gibt es meines Wissens nicht. Evtl. hilft es ja das Thermostat komplett zu resetten und neu anzulernen. Einen anderen Tipp habe ich leider derzeit nicht, sorry.
      Gr√ľ√üe
      Jörg

    2. Hallo Nikolay,
      das Problem habe ich auch, l√§sst sich √ľber fhem mit ’set „Thermostatname“ regSet burstRX on‘ einstellen und ebenso wieder abstellen. Funktioniert danach einwandfrei.

  4. kleine Routine zum Umbenennen, da das etwas m√ľhsam ist f√ľr jeden Thermostaten alle Channels zu √§ndern:
    ######################################################################
    # Umbenennen der Heizungsthermostaten HM-CC-RT-DN und der zugehörenden Kanäle #
    # Aufruf mit {RenTherm(„Thermostat“,“NeuerName“,“Raum“) #
    ######################################################################
    sub
    RenTherm
    {
    my $Therm = $_[0];
    my $Neu = $_[1];
    my $Raum = $_[2];
    my @Channel = („_Weather“,“_Climate“,“_WindowRec“,“_Clima“,“_ClimaTeam“,“_remote“);
    {fhem(„rename $Therm $Neu“)};
    for my $i (0..5){
    my $Therm1=$Therm.$Channel[$i];
    my $Neu1 = $Neu.$Channel[$i];
    {fhem („rename $Therm1 $Neu1“)};
    {fhem („attr $Neu1 room $Raum“)};
    }
    }

    1. Hallo Jens,
      bin neu bei FHEM und habe versucht, das „Umbennen“ zu nutzen.
      Daf√ľr habe ich deine Routine in die „myUtilsTemplate.pm kopiert.
      Beim Ausf√ľhren √ľber die Komadozeile kommt der Fehler, das „RenTherm“ unbekannt ist. Ih im Log bekomme ich den Hinweis, das in der Komandozeile mit RenTherm ein problem ist. Ich bin auf Edit files –> Routine reinkopiert –> Save my Template gegangen
      Was mache ich falsch?
      Log:
      2015.11.03 09:53:16 1: PERL WARNING: Subroutine RenTherm redefined at ./FHEM/myUtilsTemplate.pm line 27.

      MyUtlis:
      ##############################################
      # $Id: myUtilsTemplate.pm 7570 2015-01-14 18:31:44Z rudolfkoenig $
      #
      # Save this file as 99_myUtils.pm, and create your own functions in the new
      # file. They are then available in every Perl expression.

      package main;

      use strict;
      use warnings;
      use POSIX;

      sub
      myUtils_Initialize($$)
      {
      my ($hash) = @_;
      }

      # Enter you functions below _this_ line.

      ######################################################################
      # Umbenennen der Heizungsthermostaten HM-CC-RT-DN und der zugehörenden Kanäle #
      # Aufruf mit {RenTherm(„Thermostat“,“NeuerName“,“Raum“) #
      ######################################################################
      sub
      RenTherm
      {
      my $Therm = $_[0];
      my $Neu = $_[1];
      my $Raum = $_[2];
      my @Channel = („_Weather“,“_Climate“,“_WindowRec“,“_Clima“,“_ClimaTeam“,“_remote“);
      {fhem(„rename $Therm $Neu“)};
      for my $i (0..5){
      my $Therm1=$Therm.$Channel[$i];
      my $Neu1 = $Neu.$Channel[$i];
      {fhem („rename $Therm1 $Neu1“)};
      {fhem („attr $Neu1 room $Raum“)};
      }
      }
      1;

    2. Hi, habe den Fehler gefunden:
      1. hatte die 99_my.. nicht neu erstellt sondern das Template genutzt
      2. in dem Aufruf oben fehlte am ende noch die Klammer

      danach hat alles bestens funktioniert.
      Danke daf√ľr.

    3. Danke f√ľr die Routine :)

      Ich habe noch eine Zeile hinzugef√ľgt, dass f√ľr den Thermostat selbst auch der Raum gesetzt wird:

      ######################################################################
      # Umbenennen der Heizungsthermostaten HM-CC-RT-DN und der zugehörenden Kanäle #
      # Aufruf mit {RenTherm(„Thermostat“,“NeuerName“,“Raum“)} #
      ######################################################################
      sub
      RenTherm
      {
      my $Therm = $_[0];
      my $Neu = $_[1];
      my $Raum = $_[2];
      my @Channel = („_Weather“,“_Climate“,“_WindowRec“,“_Clima“,“_ClimaTeam“,“_remote“);
      {fhem(„rename $Therm $Neu“)};
      {fhem („attr $Neu room $Raum“)};
      for my $i (0..5){
      my $Therm1=$Therm.$Channel[$i];
      my $Neu1 = $Neu.$Channel[$i];
      {fhem („rename $Therm1 $Neu1“)};
      {fhem („attr $Neu1 room $Raum“)};
      }
      }
      1;

  5. Hallo,

    Ich bin hin und her gerissen wie ich meine Hausautomation realisieren soll. Ich habe einen RPi mit dem COC Modul von busware und der 15cm Antenne. Ich schalte schon munter Brenstuhl und IT Steckdosen. Nun hatte ich mir das FHT80b Set bestellt,um auch die Heizung zu steuern. Ich habe es aber nach vielem lesen wieder zur√ľck geschickt. Jetzt bin ich am √ľberlegen ob ich diese im Artikel beschriebenen von Homematic nehmen soll. Dann stellt sich die Frage ob ich nur auf Brennstuhl Steckdosen f√ľr unwichtige Dinge setzte und bei allen anderen auf Homematic. Kann ich das Parallel betreiben? Ich weiss das man FS20 oder Homematic mit einem CUL oder COC betreiben kann, nicht aber beide zusammen √ľber einen. Macht es √ľberhaupt sinn wenn ich nur mit Homematic arbeiten will einen Homematic LAN Adapter zu kaufen? Kann man sp√§ter auch den Lan Adapter nachr√ľsten? Viele Fragen von einem Newbie. Danke schon mal f√ľr eure Antworten.

    1. Hi Andy,
      FHEM hat als Zentrale ja den zentralen Vorteil, dass du Komponenten vieler verschiedener Hersteller ansprechen kannst. Ich selbst habe auch noch Intertechno-Komponenten im Einsatz √ľber einen CUL, empfange Infrarotbefehle von meiner Harmony √ľber einen COC und steuere meine Homematic-Komponenten √ľber einen HMLan-Adapter. Es spricht im Grunde also nichts gegen die parallele Nutzung von Komponenten verschiedener Hersteller. Da jeder Hersteller einen anderen „Standard“ nutzt, ben√∂tigst du auch jeweils einen Schnittstellenadapter. F√ľr die Steuerung von Homematic-Komponenten w√ľrde ich als Schnittstellenadapter klar den HMLan-Adapter empfehlen, da dieser auch Homematic-Komponenten unterst√ľtzt, welche eine AES-Signatur ben√∂tigen (z.B. Keymatic oder Winmatic). Man kann nat√ľrlich f√ľr Homematic-Komponenten (bis auf AES nat√ľrlich) auch einen CUL-Stick als Schnittstellenadapter einsetzen, dieser kann dann aber nicht gleichzeitig auf Nachrichten von FS20-Komponenten horchen, wenn er auf Homematic-Betrieb eingestellt ist. Umgekehrt kann der CUL-Stick nicht auf Homematic-Komponenten reagieren, wenn er f√ľr den Betrieb von FS20-Komponenten eingestellt ist. Hoffe das hilft dir erstmal weiter! Meld dich einfach nochmal, wenn du noch Fragen hast!
      Gr√ľ√üe
      Jörg

  6. Hallo,
    Danke f√ľr die Antwort. Wenn ich mich aber entscheide keinerlei AES gewt√ľtzte Ger√§te zu nutzen, sollte doch der COC reichen oder?

    Kann man sonst auch einen HML Adapter gebraucht kaufen?

    1. Jep, wie du bereits geschrieben hast, kann der COC je nach vorgenommener Einstellung entweder als Schnittstellenadapter f√ľr FS20 oder Homematic fungieren, beides gleichzeitig geht nicht. Wenn man mit dem COC Homematic-Devices steuern m√∂chte, ist im Betrieb kein Unterschied zum HMLan-Adapter erkennbar (bis auf die fehlende Steuerung von Komponenten, die AES voraussetzen).
      Gebraucht sieht man den HMLan-Adapter hin und wieder auf ebay.

  7. Hallo Jörg,
    wieder einmal eine Top Anleitung!

    Ich habe wie oben beschrieben die 99_myUtils.pm angelegt.
    Im Log erscheint jetzt allerdings immer diese Fehlermeldung:

    reload: Error:Modul 99_myUtils deactivated:

    meine 99_myUtils sieht so aus:

    ######## SZ.Heizung Temperatur setzen ########
    #Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl {SetTempList_SZ_Heizung}
    sub
    SetTempList_SZ_Heizung()
    {
    { fhem („set SZ.Heizung_Clima tempListMon prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
    { fhem („set SZ.Heizung_Clima tempListTue prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
    { fhem („set SZ.Heizung_Clima tempListWed prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
    { fhem („set SZ.Heizung_Clima tempListThu prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
    { fhem („set SZ.Heizung_Clima tempListFri prep 05:30 20.0 07:00 21.0 15:00 22.0 20:30 23.0 24:00 20.0“)};
    { fhem („set SZ.Heizung_Clima tempListSat prep 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
    { fhem („set SZ.Heizung_Clima tempListSun exec 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
    }

    Wie kann ich diesen Fehler beheben?

    Gruß
    Dominik

    1. Hi Dominik,
      an das Ende der 99_myUtils muss noch ein 1; gesetzt werden:

      ######## SZ.Heizung Temperatur setzen ########
      #Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl {SetTempList_SZ_Heizung}
      sub
      SetTempList_SZ_Heizung()
      {
      { fhem („set SZ.Heizung_Clima tempListMon prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set SZ.Heizung_Clima tempListTue prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set SZ.Heizung_Clima tempListWed prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set SZ.Heizung_Clima tempListThu prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set SZ.Heizung_Clima tempListFri prep 05:30 20.0 07:00 21.0 15:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set SZ.Heizung_Clima tempListSat prep 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
      { fhem („set SZ.Heizung_Clima tempListSun exec 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
      }
      1;

      Habe das im Blogpost entsprechent angepasst, danke f√ľr den Hinweis! Wenn du mehr Informationen ben√∂tigst, kannst du auch im FHEM-Wiki nachlesen.
      Gr√ľ√üe
      Jörg

    2. Hallo Jörg,
      Danke f√ľr die schnelle Antwort jetzt erscheint zwar im Logfile keine Fehlermeldung mehr

      allerdings kommt immer wenn ich die 99_myUtils speicher diese Fehlermeldung:

      Undefined subroutine &main::myUtils_Initialize called at fhem.pl line 1839.

      Hast du da ne Idee was das ist?

      Gr√ľ√üe
      Dominik

    3. Update:
      Habs herausgefunden es muss folgendes an den Datei Anfang:

      package main;
      use strict;
      use warnings;
      use POSIX;
      sub
      myUtils_Initialize($$)
      {
      my ($hash) = @_;
      }

      Muss dann in deinem Beispiel so aussehen:
      package main;
      use strict;
      use warnings;
      use POSIX;
      sub
      myUtils_Initialize($$)
      {
      my ($hash) = @_;
      }

      ######## WZ.Heizung Temperatur setzen ########
      #Nach dem Speichern das Thermostat aktualisieren mit dem Kommandozeilenbefehl {SetTempList_WZ_Heizung}
      sub
      SetTempList_WZ_Heizung()
      {
      { fhem („set WZ.Heizung_Clima tempListMon prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set WZ.Heizung_Clima tempListTue prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set WZ.Heizung_Clima tempListWed prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set WZ.Heizung_Clima tempListThu prep 05:30 20.0 07:00 21.0 16:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set WZ.Heizung_Clima tempListFri prep 05:30 20.0 07:00 21.0 15:00 22.0 20:30 23.0 24:00 20.0“)};
      { fhem („set WZ.Heizung_Clima tempListSat prep 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
      { fhem („set WZ.Heizung_Clima tempListSun exec 07:00 20.0 09:00 21.0 15:00 22.0 21:00 23.0 24:00 20.0“)};
      }
      1;

      Dann kommt keine Fehlermeldung mehr

      Gr√ľ√üe
      Dominik

  8. Hallo und danke f√ľr den interessanten Artikel. Da ich ein Handylos gl√ľcklicher Mensch bin:) wollte ich einmal fragen ob f√ľr diesen Zweck auch ein Bluetooth Schl√ľsselanh√§nger hergenommen werden k√∂nnte? Falls ja, gibt es irgendwelche Empfehlungen? Die Teile die ich bis jetzt gefunden habe sind ja meist in zusammenhang mit einem Handy oder Smartdings zu betreiben und kosten entsprechen viel.

  9. Hallo Jörg,

    vielen Dank f√ľr deine Blockantr√§ge!

    Ich habe bei dem pairen bzw Verwalten meines HM_CC_RT_DN Probleme.
    Das Pairen an sich funktioniert hervorragend und ich kann das Device auch voll nutzen, Plots erstellen usw.
    Allerdings wird in die FHEM.cfg nur folgendes eingetragen:

    define CUL_HM_HM_CC_RT_DN_26D439 CUL_HM 26D439
    attr CUL_HM_HM_CC_RT_DN_26D439 room CUL_HM
    define FileLog_CUL_HM_HM_CC_RT_DN_26D439 FileLog ./log/CUL_HM_HM_CC_RT_DN_26D439-%Y.log CUL_HM_HM_CC_RT_DN_26D439
    attr FileLog_CUL_HM_HM_CC_RT_DN_26D439 logtype text
    attr FileLog_CUL_HM_HM_CC_RT_DN_26D439 room CUL_HM

    nach dem n√§chsten Neustart von FHEM sind dann meine √Ąnderungen bzw Plot usw verschwunden und bei initalisieren bekomme ich Fehler ala please define …_clima first. Und das f√ľr alle Kan√§le des Device.

    Irgend eine Idee was ich hier falsch mache?

    Viele Gr√ľ√üe

  10. Hi,
    mal wieder ein super Artikel der mich zu weiterer Recherche animiert hat und mich auf folgendes gestossen hat ;-)
    Die Variante die Konfiguration in der myUtils abzuspeichern ist ja schon ganz nett, es aber in eine extra Datei auszulagern, in der man Profile ablegt die man auch mehreren Geräten zuweisen kann ist noch netter ;-)
    mit
    set hm tempList save FHEM/tempList.cfg
    speichert man die vorhandenen Profile in der Datei tempList.cfg im Ordner FHEM ab. (davor muss man wenn noch nicht vorhanden ein
    define hm HMinfo
    gemacht haben.
    Diese Datei kann man nun beliebig anpassen und wieder setzten. Wenn man nun noch bei den Thermostaten folgendes Attribut gesetzt hat wird es noch leichter:
    attr _Clima tempListTmpl FHEM/tempList.cfg:room1
    wobei room1 im Default der Name des Thermostats + _Clima ist, was sich aber ohne Probleme ändern lässt.
    Dann muss man beim validieren und setzten des Profils den Namen nicht mehr mit angeben.
    Viele Gr√ľ√üe und weiter so
    Ina
    P.S.: mehr Infos dazu steht im Wiki http://www.fhemwiki.de/wiki/HM-CC-RT-DN

  11. Hallo Jörg,
    ich suche gerade nach einem Bluetooth Schl√ľsselanh√§nger um die Anwesenheitserkennung mit fhem in der Wohnung zu verfeinern.
    Auf meinem neuem Smartphone mit Android Lollipop 5.02 versagt dauernd die Bluetoothverbindung. Ich hab nun oben in deinen Kommentaren gelesen, das du den Elgato Smartkey getestet hast. War dieser tauglich f√ľr fhem ? Oder hast du mitlerweile eine andere L√∂sung gefunden in Form eines Schl√ľsselanh√§ngers ?
    F√ľr eine Antwort w√§re ich dir sehr dankbar, weil ich sonst kurz davor bin den Elgato Smartkey zu kaufen.

    Vielen Dank
    Beste Gr√ľ√üe
    Sven

    1. Hi Sven,
      den Elgato Smartkey (Affiliate-Link) habe ich nach kurzer Testphase wieder zur√ľckgegeben. Ich habe es einfach nicht geschafft die Bluetooth-Adresse des Smartkey auszulesen und entsprechend hat mir diese zentrale Info f√ľr die Bluetooth-Erkennung in FHEM gefehlt. Danach habe ich das Ganze erstmal aus den Augen verloren, da die Erkennung √ľber das iPhone sehr gut funktioniert. Werde mich die n√§chsten Tage aber auch mal an einen Test mit der Apple Watch machen, was aber f√ľr dich als Android-User sicherlich uninteressant sein wird. Wenn du die Einbindung des Smartkey hinbekommst, w√ľrde ich mich √ľber ein Feedback von dir freuen.

      Gr√ľ√üe und viel Erfolg
      Jörg

    2. Hallo Jörg,
      vielen Dank f√ľr deine schnelle Antwort, da ich schon kurz davor war de Elgato Smartkey zu bestellen. Auf meinem S4 mit Android/Kitkat lief die Bluetootherkennung auch perfekt. Auf dem neuem S6 mit Lollipop kann man es im Moment nicht ertragen, dauernd bricht die Verbindung ab. Ich denke da ist ein Software Update n√∂tig.
      Ich gehe mal auf die Suche, was da Schl√ľsselanh√§nger technisch noch so geht…
      Solltest du zuf√§llig auf etwas sto√üen, so w√§re ein Beitrag dar√ľber echt nice. Ich sehe da gerade die Problematik in einem Haushalt mit mehreren Personen. Da w√§re ein erkennbarer Schl√ľsselanh√§nger echt nett, da wohl fast jeder immer einen Schl√ľsselbund bei sich hat. Auch ein Beitrag √ľber eine raumbasierte Anwesenheitserkennung √ľber fhem w√§re sehr interessant finde ich. Das bestimmte Dinge dort geschehen, wo man sich gerade aufh√§lt im Raum (Heizung, Licht, Musik ). Vielleicht hast du da ja mal ein paar Tipps.
      Ich verfolge euren Blog sehr gerne und bin praktisch mit euch in Sachen fhem „gro√ü geworden“ :)
      Danke f√ľr rure M√ľhe, macht bitte weiter so!

      Beste Gr√ľ√üe
      Sven

  12. Hier wurde schon lange nichts mehr geschrieben! Bez√ľglich der Bluetooth MAC Adresse beim Elagato Smart Key, gen√ľgt es diesen einfach mit dem beigelegtem Werkzeug zu √∂ffnen! Dort wo die Batterie ist ist ein Aufkleber auf welchem die Adresse abgebildet ist!

  13. Hallo,
    da ich ja auch ein Leser deiner Blocks bin und auch den Bester Tech Blog 2015 verfolgt habe und leider nicht gewonnen habe :-) , m√∂chte ich noch kurz einen Tip abgeben. Als Anf√§nger sucht man ja immer nach fertige M√∂glichkeiten sein System einzurichten. :-) Mir ist in diesem Artikel aufgefallen, dass Ihr die Device-Namen manuell √§ndert. Es gibt auch die M√∂glichkeit den Namen f√ľr das Device inkl. Kan√§le in einem Rutsch zu √§ndern. Es gibt in dem Devive wenn es gepairt ist z.b. HM_45F526 oben bei Set den Befehl „deviceRename“ . Damit wird das komplette Device umbenannt inkl. aller channel.
    Gruß Werner
    PS. geh√∂rt hier nicht hin, aber ich warte noch sehns√ľchtig :-) auf weitere Blocks in Sachen „smartvisu“. Habe die drei Blocks abgearbeitet und komme nicht weiter.
    mir fehlt die Integritation von Temp inkl. Hum in den einzelnen Raumköpfen und vieles mehr :-)))

  14. Hallo, schöne Anleitung.
    Wie kann ich realisieren das er bei Anwesenheit auf die voreingestelten Werte springt und nicht auf bestimmt Temperaturen?

    Wenn ich eingestellt hab das um12:00 die Heizung auf 21C grad gehen soll und ich 5Minuten vor 12:00 Uhr das Haus verlasse, wird dann nicht der Wert zur√ľck gesetzt?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert