HomeMatic FHEM-Wetterstation per UDP in Loxone integrieren

IM EINSATZ?

Dann schau dir UNSEREN LOXKURS an und profitiere von unserem Wissen!

Seit einiger Zeit verrichtet jetzt bereits eine Homematic Wetterstation HM-WDS-OC3 (Affiliate-Link) auf meiner Dachterrasse ihren Dienst, welche ihre Messwerte zuverlässig über einen HMLan-Adapter (Affiliate-Link) per Funk an die Smart-Home-Lösung FHEM übermittelt und dabei eifrig Messwerte aufzeichnet und protokolliert. Lange hat es dann gedauert, bis ich es endlich geschafft habe, eben diese Messwerte von FHEM per UDP-Nachrichten adäquat an Loxone zu übermitteln, das ich für die Visualisierung und erweiterte Programmlogik (Rollos schließen bei Sturm etc.) nutze. Da ich diesen Weg der Datenübertragung für überaus praktikabel halte, um jede Art von digitalen und analogen Datenwerten von FHEM (oder jedem anderen System) an Loxone zu übertragen, möchte ich meine Erkenntnisse im nachfolgenden Howto an andere Smart-Home-Begeisterte weitergeben, die Ähnliches vorhaben.

Nutzung der UDP-Kommunikationsschnittstelle

Wie die Übermittlung von Daten von FHEM zu Loxone und umgekehrt per HTTP-Mitteilungen funktioniert, wurde bereits in den Artikeln Integration: Daten zwischen Loxone und FHEM austauschen und Integration: Daten zwischen Loxone und FHEM austauschen – Teil 2 erklärt. Die dort erläuterte Vorgehensweise würde grundsätzlich auch ausreichen, um die einzelnen Messwerte der Wetterstation (Temperatur, Luftfeuchtigkeit, Niederschlagsmenge, Helligkeit, Windgeschwindigkeit und Windrichtung) stückchenweise von FHEM an Loxone zu übertragen. Dabei müsste aber jeder Wert einzeln übermittelt werden, was neben einer äußerst unübersichtlichen fhem.cfg mit erheblichem Aufwand und Kommunikationsverkehr einhergehen würde, gerade wenn man eine Vielzahl von Daten übermitteln möchte. Das Ganze lässt sich – gewusst wie – auch wesentlich eleganter lösen, indem auf einen Aufwasch gleich ganze Werte-Ketten in Form von Strings mit allen relevanten Werten per UDP-Protokoll übertragen werden.

Konfiguration in FHEM

Damit aus FHEM heraus UDP-Nachrichten versendet werden können, muss erst einmal die 99_myUtils.pm mit entsprechendem Code gefüttert werden. Der Inhalt sieht (sofern nichts anderes in der Datei eingetragen ist) wie folgt aus:

##############################################
# $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.
use IO::Socket;

#UDP Befehle senden
sub UDP_Msg($$)
{
my ($dest,$port,$cmd) = @_;
my $sock = IO::Socket::INET->new(
Proto => 'udp',
PeerPort => $port,
PeerAddr => $dest
) or die "Could not create socket: $!n";
$sock->send($cmd) or die "Send error: $!n";
return "send $cmd";
}

1;

Die Wetterstation HM-WDS-OC3 (Affiliate-Link) kann – wie jedes andere HomeMatic-Gerät auch – recht einfach über den HMLan-Adapter (Affiliate-Link) in FHEM angelernt werden. Wie das Ganze grundsätzlich funktioniert, wird bspw. im Artikel Keymatic per HMLan am FHEM-Server anlernen erklärt.

Der Eintrag meines automatisch per autocreate (define autocreate autocreate) in der fhem.cfg hinzugefügten Codes sieht dabei wie folgt aus:

define TE.Wetterstation CUL_HM 2B76D6
attr TE.Wetterstation IODev HMLAN1
attr TE.Wetterstation actCycle 000:10
attr TE.Wetterstation actStatus alive
attr TE.Wetterstation autoReadReg 4_reqStatus
attr TE.Wetterstation expert 2_full
attr TE.Wetterstation firmware 1.4
attr TE.Wetterstation model HM-WDS100-C6-O
attr TE.Wetterstation peerIDs 00000000,
attr TE.Wetterstation room Terrasse
attr TE.Wetterstation serialNr LEQ0644444
attr TE.Wetterstation subType THSensor
define FileLog_TE.Wetterstation FileLog ./log/TE.Wetterstation-%Y.log TE.Wetterstation
attr FileLog_TE.Wetterstation logtype text
attr FileLog_TE.Wetterstation room CUL_HM

Damit FHEM alle relevanten, jedoch noch suboptimal von der Wetterstation übermittelten Daten, gut aufbereiten kann, folgt noch etwas mehr Code für die fhem.cfg:

define RainReadings notify TE.Wetterstation:rain.* {  my $rainlast24hours = myDiff("86400", "FileLog_$NAME", "10:::");;  my $rainlast3hours = myDiff("10800", "FileLog_$NAME", "10:::");;  my $rainlasthour = myDiff("3600", "FileLog_$NAME", "10:::");;  my $rainthisday = (ReadingsVal("$NAME", "rain", "0") - ReadingsVal("$NAME", "rainOffset", "0"));;  fhem("setreading $NAME rainLast24Hours $rainlast24hours");;  fhem("setreading $NAME rainLast3Hours $rainlast3hours");;  fhem("setreading $NAME rainLastHour $rainlasthour");;  fhem("setreading $NAME rainThisDay $rainthisday");; }

define RainOffsetReset at *00:00:00 {  my $rainoffset = ReadingsVal("TE.Wetterstation", "rain", 0);;  fhem("setreading TE.Wetterstation rainOffset $rainoffset");; }

define WindSpeedmps notify TE.Wetterstation:windSpeed.* { my $windspeedmps = (ReadingsVal("$NAME", "windSpeed", "0") / 3.6);; $windspeedmps = int(100 * $windspeedmps + 0.5) / 100;; fhem("setreading $NAME windSpeedmps $windspeedmps");; }

Dabei erhält die Wetterstation TE.Wetterstation nochmals einige Readings spendiert, die eine spätere Auswertung erleichtern. Dazu zählt die Ermittlung der Regenmenge der letzten Stunde, der letzten drei Stunden, der letzten 24 Stunden, die aggregierte Regenmenge des heutigen Tages und die Berechnung der Windgeschwindigkeit von km/h im m/s.

Jetzt geht es an die Übermittlung jeglicher Wetterdaten der Wetterstation von FHEM an Loxone. Dabei wird ein nofity genutzt, welches Daten aller angeschlossenen Wetterstationen (sofern es mehrere gibt) der Reihe nach übermittelt. Dabei werden erst einmal alle relevanten Messerte (ReadingsVal) der Wetterstation in einzelne Variablen (my $brightness etc.) gepackt und dann auf einen Schlag als String per UDP über den Port 7000 an den Loxone-Server mit der IP 192.168.3.11 übermittelt. An jeder Stelle, an der $NAME steht, wird dann der passende Device-Name des auslösenden Elements (in diesem Fall TE.Wetterstation) geschrieben.

#Wetterstation-Status an Loxone senden
define WetterstationToLoxone notify .*Wetterstation.T.* { my $brightness=ReadingsVal("$NAME","brightness","0");; my $humidity=ReadingsVal("$NAME","humidity","0");; my $isRaining=ReadingsVal("$NAME","isRaining","0");; my $rain=ReadingsVal("$NAME","rain","0");; my $rainlast24hours=ReadingsVal("$NAME","rainLast24Hours","0");; my $rainlast3hours=ReadingsVal("$NAME","rainLast3Hours","0");; my $rainlasthour=ReadingsVal("$NAME","rainLastHour","0");; my $rainthisday=ReadingsVal("$NAME","rainThisDay","0");; my $sunshine=ReadingsVal("$NAME","sunshine","0");; my $temperature=ReadingsVal("$NAME","temperature","0");; my $windDirRange=ReadingsVal("$NAME","windDirRange","0");; my $windDirection=ReadingsVal("$NAME","windDirection","0");; my $windSpeed=ReadingsVal("$NAME","windSpeed","0");; my $windSpeedmps=ReadingsVal("$NAME","windSpeedmps","0");; { UDP_Msg("192.168.3.11" , "7000" , " $NAME.brightness: $brightness $NAME.humidity: $humidity $NAME.isRaining: $isRaining $NAME.rain: $rain $NAME.rainLast24Hours: $rainlast24hours $NAME.rainLast3Hours: $rainlast3hours $NAME.rainLastHour: $rainlasthour $NAME.rainThisDay: $rainthisday $NAME.sunshine: $sunshine $NAME.temperature: $temperature $NAME.windDirRange: $windDirRange $NAME.windDirection: $windDirection $NAME.windSpeed: $windSpeed $NAME.windSpeedmps: $windSpeedmps ")} }

Konfiguration in Loxone

Am Beispiel der übermittelten Luftfeuchtigkeit wird nun erklärt, welche Schritte in der LoxoneConfig notwendig sind, um die gerade gesendeten Daten entgegennehmen und zu nutzen.

Unter “Miniserver” -> “Virtuelle Eingänge” wird ein “Virtueller UDP Eingang” hinzufügt (hier “FHEM UDP” genannt) mit gleichlautendem “Port” “7000” und darunter ein “Virtueller UDP Eingang Befehl” (roter Pfeil). Wer die Verbindung etwas absichern möchte, kann zusätzlich unter “Senderadresse” die IP-Adresse seines FHEM-Servers eingeben. Dann werden entsprechend nur Daten von genau dieser Adresse verwertet. Bleibt das Feld leer, empfängt der Loxone-Miniserver alle auf diesem Port eingehenden Daten, egal von welcher IP diese stammen.

LoxoneConfig UDP Monitor

Wird direkt rechts neben dem Pfeil der Haken bei “UDP Monitor starten und anzeigen” gesetzt, lässt sich in der unteren Hälfte einsehen, welche UDP-Mitteilungen gerade eingehen bzw. bereits eingegangen sind. Das ist an dieser Stelle eine gute Kontrolle, um zu sehen, ob Daten von FHEM bereits ihren Weg zu Loxone finden.

Als nächstes wird der “Virtuelle UDP Eingang Befehl” konfiguriert. Wichtig ist hierbei der Eintrag “TE.Wetterstation.humidity: \v” (ohne Anführungszeichen) im Feld “Befehlserkennung”. Das bedeutet, dass jeder eingehende Befehl berücksichtigt wird, welcher mit “TE.Wetterstation.humity:” beginnt und einen anschließenden Wert ” \v” enthält, welcher dabei “eingelesen” wird. Ansonsten brauchen keine besonderen Einstellungen vorgenommen werden. Je nach Wert macht es dann jedoch Sinn bspw. den Haken bei “Statistik” zu setzen und die “Eingangsreferenz” in der “Visualisierung” zu “verwenden”. Alle weiteren “Eingangsreferenzen” werden dann nach dem selben Muster angelegt.

Loxone.Config UDP Empfang per virtuellem UDP Eingang

Neben den analogen Werten können natürlich auch digitale Werte, in diesem Fall für “Es regnet” “Ja” bzw. “Nein”, übermittelt werden. Hierbei wird beim entsprechenden Eingang “Regen” der Haken bei “Als Digitaleingang verwenden” gesetzt. Als Statustext lässt sich dabei “Benutzerdefiniert” auswählen und dann bei “Statustext Wert 0” ein “nein” sowie bei “Statustext Wert 1” ein “ja”.

LoxoneConfig digitaler UDP Engang

Um die Visualisierung weiter zu verbessern, können einige übermittelten Werte, wie bspw. “Windrichtung” und “Windrichtungsschwankung” oder “Windgeschwindigkeit km/h” in einen Status überführt werden. Die notwendigen Informationen zur Windrichtung und Windgeschwindigkeit gibt es dabei glücklicherweise bei Wikipedia. Das Ergebnis sieht dann so aus:

LoxoneConfig Windrichtung Windstaerke Status

LoxoneConfig Windrichtung Status

LoxoneConfig Windgeschwindigkeit Status

Zum Schluss macht das Ergebnis in der Loxone-App auf dem iPhone 6 eine recht gute Figur:

Loxone iPhone App Wetterstation

Weitere Einsatzfelder

Alle zwei bis drei Minuten werden nun alle Daten der HomeMatic-Wetterstation gebündelt von FHEM an Loxone übermittelt. Genutzt werden kann obige Logik aber im Prinzip auch für alle weiteren Benachrichtungsmeldungen, um bspw. den Schaltstatus von Aktoren oder den Batteriestatus von Funksensoren von FHEM an Loxone zu übermitteln. Um jegliche Nachrichten aller in FHEM angelegten Devices, die die Werte “on”, “off”, “open”, “closed” Battery ok” und “Batterie low” zu übermitteln, lässt sich bspw. folgende Logik nutzen:

#On-Status an Loxone senden - UNGETESTET
define OnToLoxone notify .*:on { UDP_Msg("192.168.3.11" , "7000" , "$NAME.state: 1");;}

#Off-Status an Loxone senden - UNGETESTET
define OffToLoxone notify .*:off { UDP_Msg("192.168.3.11" , "7000" , "$NAME.state: 0");;}

#Open an Loxone senden - UNGETESTET
define OpenToLoxone notify .*:open { UDP_Msg("192.168.3.11" , "7000" , "$NAME.state: 0");;}

#Closed-Status an Loxone senden - UNGETESTET
define ClosedToLoxone notify .*:closed { UDP_Msg("192.168.3.11" , "7000" , "$NAME.state: 1");;}

##Battery-low an Loxone senden
define BatteryLowToLoxone notify .*:[Bb]attery:.*low { UDP_Msg("192.168.3.11" , "7000" , "$NAME.battery: 1");;}

##Battery-ok an Loxone senden
define BatteryOkToLoxone notify .*:[Bb]attery:.*ok { UDP_Msg("192.168.3.11" , "7000" , "$NAME.battery: 2");;}

Aus meinem täglichen Leben

Obige Logik lässt sich natürlich noch weiter ausbauen und dient lediglich der Veranschaulichung. Ich selbst nutze jetzt beinahe alle meine an FHEM angelernten Sensoren und Aktoren (indirekt) über Loxone. Die Einrichtung ist natürlich etwas mühsam, funktioniert dafür aber auch im Langzeitbetrieb tadellos. Zeitverzögerungen, welche durch die Übermittlung der Nachrichten über die Systeme hinweg auftauchen könnten, habe ich bisher noch nicht feststellen können. Alles reagiert absolut responsiv, egal ob direkt oder fremd über FHEM angebunden.

Insgesamt hat mich das Zusammensuchen und Kombinieren aller notwendigen Bausteine wirklich ganz schön Zeit gekostet, gerade auch deswegen, weil ich in Sachen UDP noch absolut keinerlei Erfahrungen hatte. Geholfen hatten mir etliche Internetquellen, unter anderem UDP Telegramm an Woli AppFHEM Datenaustausch mit SPS S7-315 über UDPVersenden und Empfangen Sie UDP-Befehle mit dem Miniserver, Loxone UDP Kommunikation – NIKOLAUS-LUENEBURG.DE sowie der freundliche Loxone-Support, welcher mich initial erst einmal in die richtige Richtung bzgl. UDP-Mitteilungen schicken musste. Jetzt läuft das Ganze endlich genau so, wie ich es mir von Anfang an vorgestellt hatte.

44 Kommentare
  1. Hi, ich wollte mal eine kleine Rückmeldung geben, nachher hole ich von meiner Lieferadresse meinen Miniserver go und werde gleich versuchen mit deinen Tipps Loxone und Fhem zu verbinden!
    Ich habe mir noch ein 3er Set Smart Socket air zum testen bestellt!
    Kannst du mir vielleichet eine Wetterstation für den Balkon empfehlen? Sie sollte per Funk laufen! Ich wollte zuerst eine Netatmo, wegen der integrierten Luftquallität kaufen, aber davon bin ich ab. Wegen der Ungenauigkeit und mit der Sicherheitslücke die seit neustem bekannt ist (Sendet Wlan SID an Netatmo), dass muss ich nicht unbedingt haben!
    Ich werde mich auf jedenfall nochmals melden, ob alles geklappt hat! Insbesondere die Integration des Harmony Hubs ist für mich wichtig!
    Ich fände es super, wenn du noch mehr über Fhem und Loxone blogst! Im Netz gibt es ja nicht viel zu finden! Und ich musste meiner Frau versprechen, dass ich nicht mehr soviele Tage vor der dem Pc sitze………
    Im Fhem Forum habe ich ein Loxone Modul auf die Wunschliste gesetzt, aber es gab noch kein Feedback!
    liebe Grüsse
    Marco

    1. Hi Marco,
      mit Wetterstationen habe ich nicht so die Erfahrungen bisher, mit der hier im Blogpost angesprochenen HomeMatic-Wetterstation (Affiliate-Link) bin ich aber bisher sehr zufrieden.
      Natürlich werde ich auch weiterhin über FHEM und Loxone bloggen, da ich diese Kombination einfach total spannend finde. Diesbezüglich habe ich bereits viele weitere spannenden Dinge realisiert, da meine Zeit zum Bloggen jedoch begrenzt ist, kommt das alles eher tröpfchenweise nach außen. 🙂
      Danke, dass du das Loxone-Modul auf die Wunschliste gesetzt hast. Ich habe mich dir mal angeschlossen.

      Grüße und viel Erfolg bei der weiteren Umsetzung
      Jörg

  2. Hi, ich nochmal…..
    Beim Miniserver go ist auch eine SD Karte dabei.
    Das Einbinden meiner Aktoren per http hat problemlos funktioniert, nur mit dem UDP will es nicht so klappen, wenn ich z.B. bei einem Schaltaktor den Status haben möchte, muss ich dann nicht noch den Anschluss wie beim http angeben???
    Ansonsten ist das ne super Sache!
    LG
    Marco

    1. Hi Marco,
      danke für die Info mit der SD-Karte!
      Ich weiß nicht, ob ich deine Frage verstehe. Du brauchst in beide Richtungen (FHEM <-> Loxone) jeweils eine Benachrichtigung, korrekt. Von FHEM zu Loxone am besten per UDP, wie in diesem Artikel beschrieben, von Loxone zu FHEM habe ich im vorherigen Blogpost die http-Variante erklärt. Hoffe die Info hilft dir weiter!

      Grüße
      Jörg

      PS: Ich bin bereits parallel am recherchieren, wie man am bequemsten die Daten von Loxone zu FHEM per UDP übertragen kann. Das dauert aber sicher noch etwas.

  3. Super danke, ich habe jetzt fast alles zum Laufen gebracht! Batterie Status über UDP läuft, meine Aktoren laufen per http-Variante. Die Harmony ist eingebunden, es fehlt nur noch der Kanal, der grade auf der Dreambox läuft und die aktuelle Lautstärke von meinem Denon AVR. Ich hatte es so probiert Dream7080HD:channel:.* {\ UDP_Msg(“192.168.1.11” , “7000” , “$NAME: .*”);;\ } es klappt noch nicht.
    Hast du vielleicht eine Idee??
    LG

    Marco

    1. Super, das freut mich!
      Ich glaube über UDP lassen sich nur numerische Werte übermitteln. Wenn du Sendernamen übertragen möchtest, brauchst du glaube ich einen virtuellen Texteingang, den du per http ansteuern musst. Kann mich aber auch irren, bin auf dem Gebiet auch noch Rookie.

      Grüße
      Jörg

  4. Sag mal, ich bereite grade alles für die Wetterstation vor, die ich gestern bestellt habe. Könntest du noch etwas zur Auskühlwarnung schreiben, oder ein Screenshot einfügen?
    Danke im Voraus.
    LG

    Marco

  5. Hallo Jörg,

    ich habe die HomeMatic Funk-Steckdose wie in Deinem Blog beschrieben in FHEM angelernt und die Schaltung mit Rückmeldung in Loxone umgesetzt.
    Ich versuche allerdings seit Tagen vergebens, den aktuellen Stromverbrauch (in Watt) analog zu Daten aus der Wetterstation (Dein Blogbeitrag) von FHEM via UDP oder HTTP nach Loxone zu bringen, um dort die Logig (z.B. Waschmaschine ist fertig) umzusetzen.
    Kannst Du mir hier einen kurzen Hinweis schicken, was in FHEM und in der Lox Config zu konfigurieren ist!
    An dieser Stelle schon einmal recht herzlichen Dank!

    1. Hi Heiner,
      das passende Element für die fhem.cfg sollte lauten:

      #Power-Status an Loxone senden
      define PowerToLoxone notify Waschmaschine {\
      my $power=ReadingsVal(“$NAME”,”power”,”0″);;\
      { UDP_Msg(“192.168.3.11” , “7000” , “\
      $NAME.power: $power\
      “)} \
      }

      In der Loxone Config setzt du dann einen “Virtuelle UDP Eingang Befehl” mit dem Eintrag “Waschmaschine.power: \v” (ohne Anführungezeichen) im Feld “Befehlserkennung”. Falls das noch nicht klappen sollte, sag bitte Bescheid, welche Befehle der UDP-Monitor in der Loxone Config entgegennimmt.

      Grüße und viel Erfolg
      Jörg

  6. Hallo Jörg,

    die Übergabe des aktuellen Stromverbrauchs (in Watt) von FHEM in die Loxone Config hat funktioniert. Allerdings mußte ich den virtuellen UDP-Eingang über den UDP-Monitor anlegen. Dabei wurde dem Befehl der Port 5001 zugewiesen. Mit der Portangabe 5001 in FHEM und Loxone Config funktioniert es einwandfrei, so daß nun die Logig in Loxone selbst umgesetzt werden kann.

    Gruß

    Heiner Weber

  7. Hallo Jörg,

    ich muss jetzt doch einmal wegen den Kombisensor was nachfragen. Im Fhem Forum habe ich auch nachgefragt wie ich die Daten vom Kombisensor in einer Liste anzeigen kann bisher noch keine Antwort. Im Web hab ich eine Seite gefunden.

    Es funktioniert aber nicht. Wie kann ich denn das richtig in Fhem darstellen?

    Danke Gruss Michael

    1. Hi Michael,
      ich verstehe deine Frage leider nicht wirklich. Was genau willst du machen? Sofern du auf die einzelnen Werte des Kombisensors zugreifen möchtest, kannst du einfach die einzelnen Readings anzapfen.

      Grüße
      Jörg

  8. Hallo Jörg,

    mir ist noch nicht ganz klar geworden, was mit Loxone realsiert werden kann, was FHEM (noch) nicht kann – wozu also der Parallelbetrieb nötig ist. Was hab ich übersehen? 🙂

    Gruß
    Frank

    1. Hi Frank,
      notwendig ist der Parallelbetrieb natürlich nicht. Aber Loxone hat mich aufgrund verschiedener Faktoren recht schnell überzeugt.
      Durch die Konfiguration auf Basis einer Vielzahl vorgefertigter Funktionsbausteine lassen sich mit Loxone per grafischer Oberfläche komplexe Abläufe recht einfach mal schnell per Drag&Drop zusammenstellen. Dadurch spart man sich unendlich viel Zeit und weiss genau, dass es auch ohne großes Gefummel funktionieren wird.
      Änderungen sind dann auch nach längerer Zeit einfach möglich, ohne dass man sich erst wieder in den “Code” einfinden muss. Wenn man sich etwas mit der Loxone Config beschäftigt und das Ganze einmal selbst ausprobiert, ist das irgendwie ein Augenöffner. Ich kann nur empfehlen einmal die kostenfreie Konfigurationssoftware herunterzuladen und damit etwas rumzuspielen. Der Einstieg ist nicht einfach, aber es gibt viele YouTube-Video, die einem helfen.
      Außerdem gibt es einen praktischen Simulationsmodus, um Änderungen “grafisch” zu prüfen, bevor man alles in den Miniserver einspielt.
      Ein wichtiger Punkt ist für mich auch die Bedienung. Die Visualisierung per Mobile-App ist einfach ein Traum und alles funktioniert einfach so out-of-the-box. Das ist nicht nur praktisch, sondern macht im täglichen Umgang einfach nur Spaß. Selbst meine bessere Hälfte, die bei sowas wirklich kritisch ist, nutzt die App und findet sie ok. Und das ist nicht selbstverständlich… 🙂
      Durch die offenen Schnittstellen kann ich alle weiteren Komponenten, die nicht direkt von Loxone unterstützt werden oder die je nach Anwendungsfall von anderen Herstellern günstiger sind oder besser geeignet erscheinen, über die Integration mit FHEM ebenfalls anbinden und habe trotzdem das schicke einheitliche Loxone-Interface samt umfangreicher Konfigurationsmöglichkeiten.
      Sicherlich nicht für jeden die anzustrebende Lösung, aber für mich – zumindest aktuell – die beste Lösung.
      Im Artikel Smart-Home mit Loxone hab ich vor einmal Jahr auch schon einmal darüber gebloggt. Wenn du noch Fragen hast, melde dich einfach.

      Grüße
      Jörg

  9. Hi Jörg,

    ich habe nach Christoph seiner Anleitung mehrere Lacrosse Sensoren erfolgreich in FHEM eingelernt. Nun möchte ich die Daten via UDP nach Loxone übertragen. Leider bekomme ich das nicht hin.
    Mein Eintrag in der them.cfg sieht so aus.

    ##Temperatur an Loxone senden

    define temperatureToLoxone notify .*temperature.*{my $temperature=ReadingsVal(“$NAME”,”temperature”,”0″);; { UDP_Msg(“192.168.3.11” , “7000” , “$NAME.temperature: $temperature”)} }

    Wo liegt der Fehler. Die Übertragung des Batterie Status funktioniert problemlos.

    Vielen Dank

    1. So ich habe es hinbekommen.

      #Temperatur an Loxone senden
      define temperatureToLoxone notify .*:temperature:.* {my $temperature = ReadingsVal(“$NAME” , “temperature”,”0″);; { UDP_Msg(“192.168.3.11” , “7000” , “$NAME.temperature: $temperature”)} }

      Viele Grüße

  10. Hallo Jörg,
    Ich habe nach Deiner Anleitung einen MAX-Cube über FHEM mit Loxone über UDP verbunden.
    Die Verbindung funktioniert, aber die übertragenen Werte sind nicht die erwarteten.

    fhem.cfg:
    #MAX Daten zu Loxone senden

    define MAXtoLOXONE notify MAX_026a6d:temperature:.* {my $test2={ReadingsVal(“$NAME”,”temperature”,”0″)};;{UDP_Msg(“192.168.178.201” , “7000” , “$NAME.test: $test2”)} }

    Loxone:
    MAX_026a6d.test: HASH(0x14e1e58)

    Wo ist mein Fehler?

    1. Hi Nick,
      habe leider keine Erfahrung mit dem MAX-System. Wenn im Reading “temperature” von deinem “MAX_026a6d” der richtige Wert steht, sollte dieser auch korrekt übertragen werden. Wenn du diesen Fehler ausschließen kannst, würde ich einfach mal den fixen Wert “12” senden und beobachten, was bei Loxone ankommt:

      define MAXtoLOXONE notify MAX_026a6d:temperature:.* {my $test2={ReadingsVal(“$NAME”,”temperature”,”0″)};;{UDP_Msg(“192.168.178.201” , “7000” , “$NAME.test: 12”)} }

      Vielleicht kannst du das Problem so ja weiter eingrenzen…

      Grüße und viel Erfolg
      Jörg

  11. Hallo Jörg,

    vielen Dank erst einmal für deine viele hilfreichen Howto’s mit denen ich nun in die FHEM/Loxone Welt eingestiegen bin. FHEM benutze ich um meine Viessmann Wärmepumpe an die Loxone anzubinden. Habe VCONTROL bei FHEM eingerichtet und kann die Daten auch abrufen. Jetzt bin ich dabei die Werte per UDP an die Loxone zu senden. Ich glaube, dass ich das im FHEM auch hinbekommen habe, zumindest enthält das Logfile für den einen Testwert “Aussentemperatur” folgenden Eintrag:

    2015.12.29 12:00:43 3: HeizungToLoxone return value: send
    Heizung.Aussentemperatur: 4.8

    Leider kann ich jedoch im Loxone UDP-Monitor keine Daten empfangen, obwohl ich den Port 7000 festgelegt habe.

    Hast du vielleicht eine Idee?

    Danke und viele Grüße

    Norman

    1. Hi Norman,
      das könnte verschiedene Gründe haben… Schwierig da aus der Ferne Tipps zu geben. Ich würde auf jeden Fall mal die in FHEM eingetragene IP des Loxone Miniservers checken. Evtl. ist da ja schon der Fehler zu finden.

      Grüße und viel Erfolg
      Jörg

      PS: Poste doch mal deine FHEM-Settings (entsprechende Auszüge der fhem.cfg und deiner 99_myUtils.pm).

  12. Hallo Jörg,

    vielen Dank für deine Rückmeldung. Du hattest recht, habe statt der IP des Miniservers die des PI eingetragen gehabt, so dass er an sich selbst gesendet hat. Jetzt funktioniert die Übermittlung zur Loxone. Hast du auch Erfahrungen den umgekehrten Weg betreffend? Würde nämlich gern die Heizung über die Loxone steuern um Logiken zu hinterlegen, z.B. Heizung an, wenn Heizungsventil offen etc. Wie kann ich da die Send-Befehle auf der FHEM von der Loxone auslösen?

    Vielen Dank und Gruß

    Norman

  13. Super Artikel! Ich habe eine Frage zu den Berechnungen der Regenmengen: Kann ich die Daten auch aus der DBLog Datenbank holen?

    Grüße
    Sebastian

    1. Hallo Jörg,

      ich habe es jetzt vorher mit dem Logfile gelöst, werde mich aber bei Gelegenheit mal ein bisschen mit DbLog in der CommandRef befassen. Ansonsten gibt es auch noch ein sehr interessantes Modul namens statistics (http://fhem.de/commandref_DE.html#statistics)

      Grüße
      Sebastian

  14. Moin, erstmal Danke für diese sinvolle Seite, konnte schon einiges lernen.

    Nun zu meinem Problem: Ich habe bei Fhem das Weather Modul eingefügt, welches die Wetterdaten von Yahoo abruft. Diese Wetterdaten möchte ich per UDP an meine Loxone senden. Leider kommt im UDP Monitor bei Loxone nichts an.

    Die 99_myUtils.pm habe ich angelegt und mit dem Code aus der Anleitung gefüllt.

    Meine Frage ist was ich in die fhem.cfg eingeben muss um die Daten von dem Modul zu senden. Das Modul nennt sich bei mir “MeinWetter” und ich sehe bei Readings alle Aktuellen Daten von Yahoo.

    Würde mich freuen, wenn mir jemand ein Muster erstellen könnte, denn ich verzweifel so langsam 🙁

    Vielen Dank im Vorraus 🙂

  15. Hallo zusammen,

    ich würde gerne meine Temperaturwerte von FHEM an mein Loxone Miniserver weitergeben.

    Hierzu habe ich das jetzt so gelöst, dass ich für jeden Temperatursensor einen eigenen UDP-Befehl habe.
    Ich würde nun aber gerne alle Werte zusammen, einmal pro Minute, an Loxone senden.
    Sonst wird das alles auch etwas uübersichtlich.

    in Fhem habe ich z.B. Wonhzimmer.Temperatur, Schlafzimmer.Temperatur usw.
    Darunter habe ich immer den Punkte temprature: Wert.

    Wie muss ich jetzt genau vorgehen um alle Daten zusammen zu übertragen. Ich habe leider noch nie etwas mit Pearl gemacht. =(

    Vielleicht könnt ihr mir helfen.

    Vielen Dank

  16. HI.
    Ich benutze aktuell hauptsächlich Loxone, habe aber auch zum spielen einen RPi 3 da und habe dort schon mal FHEM eingerichtet. Darüber habe ich als ersten Schritt die Anwesenheitserkennung gemacht und das läuft.
    Jetzt würde ich gerne EnOcean integrieren.
    Meine Frage ist jetzt, lieber das Teil von Loxone für knapp 300€ holen oder ein Modul für FHEM was micht ca. 50€ kostet und dann die Daten von FHEM nach Loxone schicken lassen.
    Bin aktuell noch unschlüssig.
    Einerseits hätte ich halt beim Loxone Teil alles aus einer Hand, aber den 6fachen Preis zu zahlen ist halt schon eine Ansage.
    Hast du da dein paar Tips für mich?
    Danke

    1. Hi Andreas,
      wie Patrick schon angemerkt hat, muss man mit der FHEM-Lösung immer etwas basteln. Das ist wohl eine Geschmacksache. Ich vermeide das mittlerweile zumindest an zentralen Stellen, die einfach laufen sollen. Die Loxone-Extension ist zwar echt teuer, sollte dann aber auch dauerhaft ohne Gefrickel funktionieren. Wenn dein führendes System Loxone ist, würde ich mir die Extension nochmal überlegen. Wenn du die EnOcean-Devices unbedingt auch in FHEM nutzen möchtest, ist die Bastellösung eine gute und vorallem auch Alternative.

      Grüße
      Jörg

  17. Hallo Andreas,

    ich habe bei mir auch einen Raspberry im Einsatz und sende mir da meine Temperaturdaten und Fensterzustände per UDP an meine Loxone. Bisher funktioniert es alles relativ gut. Hatte mal etwas Netzwerkprobleme mit dem Pi, die sind jetzt aber behoben.
    Wollte anfangs auch lieber ein System haben, aber bis jetzt bin ich wirklich zufrieden und macht auch Spaß damit zu “basteln” 🙂

  18. @ Patrick:
    Danke für die Info. Dann werd ich mir erstmal das Teil für FHEM holen.
    Welches Teil nutzt du, und welche Reichweite hast du damit?
    Will in meinen Fenster die Eltako RTFK einbauen.
    Was hast du für die Fensterzustände verbaut?
    Hast du da ein paar Tips für mich wie du das machst per UPD?
    Danke

  19. Ich habe mir einen Busware Stick gekauft, um Fensterkontakte von MAX! (868,3 mHz) zu verwenden. Mit der Reichweite komme ich ohne Antenne, vom Keller bis ins OG, alllerdings nicht bis ganz ins hintere Eck 🙂
    Fensterzustände habe ich lediglich auf und zu. Mir ging es Hauptächlich um die Fenster im Keller, um mitzubekommen wenn diese geöffnet werden.

    Die UDP Übertragung mache ich wie oben, allerdings für jeden Wert einen eigenen Befehl da ich es ja noch nicht hinbekommen habe, mehrere Werte auf einmal zu übertragen.

    Kann dir sonst auch mal was zuschicken, bist du eventuell im Loxforum?
    Gruß
    Patrick

  20. @ Patrick
    Bin auch im Loxone forum (The Spirit) unterwegs.
    Würde mich freuen, wenn du mir da mal was schicken könntest.

    Eine allgemeine Frage noch.
    Nutze momentan das Benzinpreismodul in Fhem.
    Leider klappt es bei mir nicht, mir die aktuellen Preise per UDP schicken zu lassen.
    Hab ein notify mit event_on_update und das update sollte alle 5 Sekunden sein (zum testen). Sehe auch im Event Monitor nichts.
    Was kann das sein.
    Danke

  21. Achja, eines habe ich noch vergessen.
    Ich bekomm es nicht hin einen Virtuellen UDP eingang als Digitaleingang zu nutzen.
    Geht das nicht?
    Der übtragene Text im UDP Monitor sieht so aus:
    Status_Licht_Flur:1
    Status_Licht_Flur:0
    Das müsste man doch mit folgender Befehlserkennung erkennen
    Status_Licht_Flur:\v
    oder?
    Danke

    1. Hi Andreas,
      nimm stattdessen einen Analogeingang. Das hat erstmal auch keinen wirklichen Nachteil. So mache ich das auch, da ich es auch nicht per Digitaleingang hinbekommen habe. Falls jemand die Lösung zu diesem Problem kennt, immer gerne her damit. 🙂

      Grüße
      Jörg

  22. Danke, so mache ich es aktuell auch.
    Aber bei einem Digitaleingang könnte ich den Text halt farbig machen, daher wollte ich eben den Digitaleingang nutzen.
    Aber wenn es nicht geht nutzt es ja nichts.

    1. Hallo Michael,
      ja, mit dem HMLan Adapter kannst Du alle HM Geräte in FHEM einbinden.
      Selbst die AES Verschleierung soll funktionierren, das ist aber ein bissle tricky.
      Gruß
      Elmar

  23. Hallo miteinander

    Vorweg muss ich sagen, ich bin absoluter Anfänger was Fhem angeht und wäre Euch unendlich dankbar wenn Ihr mir weiterhelfen könntet.
    Ich habe bereits Loxone bei mir zuhause in Betrieb. Neu habe ich einen Eltako MS, welcher die Daten via Enocean an meinen Raspi schickt, diese Graphs sehe ich auch wunderbar im Fhem.

    Ich möchte nun noch die 7 Wetterdaten per UDP an meinen Loxone Server schicken, ich bekomme das aber einfach nicht hin *grrrr*
    Im Fhem file „99_myUtils.pm“ habe ich die Konfiguration, wie weiter oben im Artikel beschrieben, hinzugefügt.

    Im Fhem File „fhem.cfg“ habe ich um die Temperatur an Loxone zu senden folgendes eingetragen:
    #Temperatur an Loxone senden
    define temperatureToLoxone notify .*:temperature:.* {my $temperature = ReadingsVal(“$NAME” , “temperature”,”0″);; { UDP_Msg(“10.x.x.x” , “7000” , “$NAME.temperature: $temperature”)} }

    Wenn ich auf dem Loxone MS im UDP Monitor schaue kommt dort einfach nichts an 🙁
    Was mache ich falsch? Ich habe schon vieles ausprobiert und diverse Google Einträge angeschaut, aber ich komme einfach nicht dahinter warum ich nichts sehe.

    Danke für Euer Feedback
    Gruss Adrian

  24. HI.
    Habe heute meine Tecalor Heizung in FHEM integriert.
    Würde jetzt gerne einen Wert davon (https://forum.fhem.de/index.php?action=dlattach;topic=63784.0;attach=65819;image)
    per UDP an Loxone schicken und dort dann die Daten zerpflücken.
    Wie muss ich das machen, das das eine Reading alle x Minuten per UDP verschickt wird?
    Danke,
    Andreas

Schreibe einen Kommentar zu Andreas Antworten abbrechen

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

Das könnte dir auch gefallen