FHEM: Heizungssteuerung per Anwesenheitserkennung

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://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://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://meintechblog.de/wordpress/wp-content/uploads/2015/06/31EtAPbzHWL.SL110.jpg“ tag=“meintechblog-131222-21″ width=“110″]

 

35 Kommentare
  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

Das könnte dir auch gefallen