Anbindung Bosch Indego über FHEM

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Claus1985
    Smart Home'r
    • 30.11.2018
    • 51

    Anbindung Bosch Indego über FHEM

    Hallo Zusammen,

    nach etwas gebastel funktioniert die Anbindung nun wie ich mir das gedacht habe.
    Da ich keine Anleitung dafür gefunden habe hier meine Vorgehensweise:
    1. Mäher in FHEM über das Indego Modul (https://github.com/fhem/INDEGO) einfügen
    2. In 99_MyUtils folgendes Programm einfügen und wie gewünscht anpassen (vorher natürlich Werte wie IP-Adresse usw. ersetzen).
      Für mich der erste Wurf, werde nun mal prüfen was ich zur Steuerung ansonsten noch benötige:
      Code:
      #IndegoToLoxone
      	sub IndegoToLoxone($)
      	{
      	my ($device) = @_;
      
      	# Gerätezustand
      	my $maehStatus = ReadingsVal("$device",'state',"-1");
      	$maehStatus =~ s/\s+/_/g;
      	# Status an Loxone
      	GetHttpFile('User:Kennwort@IP-Adresse', '/dev/sps/io/Virtueller Texteingang in Loxone/'.$maehStatus);
      
      	# Wann wird wieder gemäht?
      	my $nachstesMaehen = ReadingsVal("$device","mow_next","-1");
      	my $jahr = substr($nachstesMaehen,0,4);
      	my $monat = substr($nachstesMaehen,5,2);
      	my $tag = substr($nachstesMaehen,8,2);
      	my $stunde = substr($nachstesMaehen,11,2);
      	my $minute = substr($nachstesMaehen,14,2);
      	# Nächster Mähzeitpunkt an Loxone
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."10".": $jahr");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."11".": $monat");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."12".": $tag");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."20".": $stunde");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."21".": $minute");
      
      	# Wann war der letzte Alarm?
      	my $alarmdatum = ReadingsVal("$device","alert_date","-1");
      	my $jahrAlarm = substr($alarmdatum,0,4);
      	my $monatAlarm = substr($alarmdatum,5,2);
      	my $tagAlarm = substr($alarmdatum,8,2);
      	my $stundeAlarm = substr($alarmdatum,11,2);
      	my $minuteAlarm = substr($alarmdatum,14,2);
      	# Nächster Mähzeitpunkt an Loxone
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."30".": $jahrAlarm");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."31".": $monatAlarm");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."32".": $tagAlarm");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."40".": $stundeAlarm");
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."41".": $minuteAlarm");
      
      	# Wieviel % sind schon gemäht?
      	my $gemaeht = ReadingsVal("$device","mowed","-1");
      	# Gemäht in %
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."3".": $gemaeht");
      
      	# Laufzeit in Std.
      	my $laufzeitInStd = ReadingsVal("$device","totalOperate","-1");
      	# Laufzeit an Loxone
      	UDP_Msg("IP-Adresse" , "7000" , "$device"."4".": $laufzeitInStd");
      
      	# Alarm Titel
      	my $alarmTitle = ReadingsVal("$device","alert_headline","-1");
      	$alarmTitle =~ s/\s+/_/g;
      	# Alarm Titel an Loxone
      	GetHttpFile('User:Kennwort@IP-Adresse', '/dev/sps/io/Virtueller Texteingang in Loxone/'.$alarmTitle);
      
      	# Alarm Status
      	my $alarmStatus = ReadingsVal("$device","alert_status","-1");
      	$alarmStatus =~ s/\s+/_/g;
      	# Alarm Status an Loxone
      	GetHttpFile('User:Kennwort@IP-Adresse', '/dev/sps/io/Virtueller Texteingang in Loxone/'.$alarmStatus);
      	}
    3. Die Zahlenwerte (wie Stunde, Minute, usw.) werden In Loxone über einen Virtuellen UDP Eingang Befehl abgebildet.
      Unter Befehlserkennung muss das Gerät aus FHEM rein. Siehe im Code z.B. "BoschIndego10: \v" für das Jahr des nächsten Mähzeitpunktes oder "BoschIndego3: \v" für wie viel % sind schon gemäht.
    4. Die Textfelder (z.B. Status, Alarm Text, usw.) werden in Loxone über Virtuelle Text Eingänge abgebildet (einfach anlegen und oben im Code angeben, z.B. VTI1).
      Leerzeichen werden durch _ ersetzt, da Loxone sonst nur das erste Wort anzeigt.
    5. Die Datumswerte werden über einen Status formatiert und so zusammengebracht.
    6. Die eigentlichen Befehle an den Indego werden über Virtuelle Ausgangs Befehle in Loxone angelegt (z.B. mit Befehl bei ein "/fhem?cmd=set BoschIndego mow" zum Starten des Mähvorgangs).

    Gruß,

    Claus
Lädt...