Harmony Ultimate und AVM Fritz!Dect

Ist eine Harmony das Richtige für mich? Wenn ja, welche passt am besten zu meinen Bedürfnissen?
Forumsregeln
Wichtige Hinweise zum erstellen neuer Themen - bitte vorher einmal unsere Forenregeln lesen!
user303
Device-Versteher
Device-Versteher
Beiträge: 3
Registriert: 30. November 2016 12:26

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von user303 » 30. November 2016 14:04

Hallo Zusammen,

für diejenigen die gerne ihre Dect 200 von AVM mit der Logitech Harmony Ulimate Hub integrieren möchten, wollte ich euch folgenden Lösungsansatz vorstellen:

Mit einigen Codeschnipseln aus dem Netz und der AVM API habe ich ein serverseitiges PHP skript gebastelt, welches auf einem internen Webserver läuft und mit dem man folgende Aktionen per Aktor(Fritz Dect 200)
- An
- Aus
- Toggle
schalten lassen kann.

Aufruf schaut folgendermaßen aus:

Code: Alles auswählen

http://server:port/fritz.php?actname=MediaCenter&action=on

actname = Name des Aktors wie in der FB definiert (Achtung keine Leerzeichen erlaubt, Aktoren müssen einen eindeutigen namen haben)
action = on, off, toggle   (toggle schaltet von on->off oder off->on)

Damit könnte man bereits mit dem JB Media Light Manager loslegen und auf bestimmte IR oder Funk Befehle die WebRequest triggern.

Einzige Konfiguration im Skript: User und Passwort für die Fritz!box.
Ich Empfehle einen eigener User in der Fritzbox zu konfigurieren und die Rechte nur auf Smarthome zu beschränken. (User und Password stehen klartext im PHP Skript)

Um die Fritz Aktoren mit der Harmony zu verwenden brauchen wir einen zusätzlichen Service:
Die Software "Home Automation Bridge" ha-bridge (https://github.com/bwssytems/ha-bridge) gaukelt der Harmony eine Philips Hue Bridge vor.
In der ha-bridge müssen jetzt nur noch die Fritz Aktoren als Bridge Devices hinzugefügt werden.

Bsp.
Für On:
http://server:port/fritz.php?actname=MediaCenter&action=on

Für Off:
http://server:port/fritz.php?actname=MediaCenter&action=off

Das wars.


Sobald die Harmony den Hue Bridge eingerichtet hat, tauchen die Aktoren unter Geräten im Bereich Beleuchtung auf.

Wenn interesse besteht kann ich gerne genauere Infos dazu schreiben.

Benutzeravatar
Hoffi
Device-Versteher
Device-Versteher
Beiträge: 3
Registriert: 28. März 2011 09:10
1. Fernbedienung: H Elite
2. Fernbedienung: H One
3. Fernbedienung: H 555
Software: Beides
Heimkino 1: TV: Samsung 55"
Heimkino 2: AV: Onkyo TX-NR 626
Heimkino 3: BD: Denon 1713
Heimkino 4: Playstation 4
Heimkino 5: DALI Zensor
Wohnort: MS-Land
Wohnort: MS-Land
1. Fernbedienung: H Elite
2. Fernbedienung: H One
3. Fernbedienung: H 555
Software: Beides

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von Hoffi » 30. November 2016 15:19

Das hört sich klasse an. Ich hab nen Raspberry und ein QNap aktiv, da ist Platz.

Aber was ist, wenn man schon eine Hue Bridge hat? Oder hat man damit dann zwei?

Würdest du das PHP Script zur Verfügung stellen?
:)
TV: Samsung 55"
AV: Onkyo TX-NR 626
BD: Denon 1713
Playstation 4
DALI Zensor

user303
Device-Versteher
Device-Versteher
Beiträge: 3
Registriert: 30. November 2016 12:26

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von user303 » 30. November 2016 20:03

Hi,

ich habe leider kein physiches Hue Gerät zuhause. Deswegen, kann ich nicht sagen, ob es einen Effekt hat.
Im Internet liest man aber Berichte von Leuten die 2 Hue Bridges im Einsatz haben.

Gerne schicke ich Dir den Code, da es noch nicht gesäubert wurde, schicke ich es Dir per PN wenn Du möchtest.

Edit:
aus dem HA-Bridge How To - Somit sollte es mit physischen Hues funktioneren.
Hue Names and IP Addresses

Provide IP Addresses of your Hue Bridges that you want to proxy through the bridge. Also, give a meaningful name to each one so it is easy to decipher in the helper tab. When these names and IP's are given, the bridge will passthru the call it receives to the target Hue and device you configure.

Don't forget - You will need to push the link button when you got to the Hue Tab the first time ater the process comes up. (The user name is not persistent when the process comes up.)

user303
Device-Versteher
Device-Versteher
Beiträge: 3
Registriert: 30. November 2016 12:26

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von user303 » 1. Dezember 2016 19:39

Anbei der Code

Code: Alles auswählen

<?php 

// User defined (only part where something needs to be changed)
$fritzbox_User = 'user';
$fritzbox_Password = 'pass';

/*
AVM Fritz!Box Dect 200 actuator set script
user303 on http://www.harmony-remote-forum.de/

Parameters used fpr request in URL
http://nas:800/fritz.php?actname=Media&action=on
actname = <name of the AVM DECT actor as defined in the Fritz!Box GUI>
action = on | off | toggle | poll    (poll checks the current state of the actuator  0=off 1=on)

Ressources
https://avm.de/fileadmin/user_upload/Global/Service/Schnittstellen/AHA-HTTP-Interface.pdf

Commands are sent via HTTP GET Request to the following URL
http://fritz.box/webservices/homeautoswitch.lua?ain=<ain>&switchcmd=<cmd>&sid=<sid>
(!) https was not used on purpose, as the Fritz!Box was blocking access

Used commands:
getdevicelistinfos
setswitchon
setswitchoff
setswitchtoggle
getswitchstate

Stream infos
getdevicelistinfos:
text/xml; charset=utf­8

all others:
text/plain; charset=utf­8





*/




//Parse Arguments
$actuatorname = htmlspecialchars($_GET["actname"]);
$actuatoraction = htmlspecialchars($_GET["action"]);


// Connect to FritzBox for SID
$ch = curl_init('http://fritz.box/login_sid.lua?username=' . $fritzbox_User);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$login = curl_exec($ch);
$session_status_simplexml = simplexml_load_string($login);

if ($session_status_simplexml->SID != '0000000000000000')
{
        echo "Already logged on with SID " . $SID . "\n" ;
   $SID = $session_status_simplexml->SID;
}
else
// Calculate Session ID with Challenge, Password and MD5-Encoding
{
   $challenge = $session_status_simplexml->Challenge;
   $response = $challenge . '-' . md5(mb_convert_encoding($challenge . '-' . $fritzbox_Password, "UCS-2LE", "UTF-8"));
   curl_setopt($ch, CURLOPT_POSTFIELDS, "response={$response}&page=/login_sid.lua");
   $sendlogin = curl_exec($ch);
   $session_status_simplexml = simplexml_load_string($sendlogin);
   if ($session_status_simplexml->SID != '0000000000000000'){
       $SID = $session_status_simplexml->SID;
   }
   else{
       //echo "Error: Cannot connect to Fritz!Box";
       http_response_code(403);
       return;
   }
       
}





//  Get getdevicelistinfos
$opts = array(
    'http' => array(
        'method'  => 'GET',
        'header'  => 'Content­Type: text/xml; charset=utf­8'       
                    )
             );
$context = stream_context_create($opts);

$switchcmd = 'getdevicelistinfos';
$url =  'http://fritz.box/webservices/homeautoswitch.lua?switchcmd='. $switchcmd .'&sid=' . $SID .'';

//retrieving the device list infos in XML structure
$result = simplexml_load_string(file_get_contents($url, false, $context));

//looking for the acutator to retrieve the AIN which is needed for the switching
$count = 0;
foreach ($result->device as $node){
    $tmpname = $node->name;
    if (strcmp ($tmpname ,$actuatorname) == 0 ) {
            //echo $tmpname . "<br>";

        $ain = str_replace(' ', '', $node->attributes()->identifier);
        //echo "retrieved AIN: " . $ain . "<br>";
        $count++;
    }
    
}

//Verifying if more that one actuators have been identified with the same name. Danger of inadvertantly switching the wrong actuator. Use unique names.
if ( $count > 1){
    //echo "More than one actuators found with the name " . $actuatorname . "<br>";
    http_response_code(400);
    return;
}
if ( $count == 0){
    //echo "No actuator was found with the name " . $actuatorname . "<br>";
    http_response_code(400);
    exit ("No actuator was found with the name " . $actuatorname);
}    

    
$opts = array(
    'http' => array(
        'method'  => 'GET',
        'header'  => 'Content­Type: text/plain; charset=utf­8'       
                    )
             );
$context = stream_context_create($opts);

//echo $actuatoraction . "<br>";
switch ($actuatoraction) {
    case "on":
        $switchcmd = 'setswitchon';
        $url =  'http://fritz.box/webservices/homeautoswitch.lua?ain=' . $ain . '&switchcmd='. $switchcmd .'&sid=' . $SID .'';
        //echo $url . "<br>";
        $result=file_get_contents($url, false, $context);
        //echo $result ."<br>";
        http_response_code(200);
        break;
    case "off":
        $switchcmd = 'setswitchoff';
        $url =  'http://fritz.box/webservices/homeautoswitch.lua?ain=' . $ain . '&switchcmd='. $switchcmd .'&sid=' . $SID .'';
        $result=file_get_contents($url, false, $context);
        //echo $result ."<br>";
        http_response_code(200);
        break;
    case "toggle":
        $switchcmd = 'setswitchtoggle';
        $url =  'http://fritz.box/webservices/homeautoswitch.lua?ain=' . $ain . '&switchcmd='. $switchcmd .'&sid=' . $SID .'';
        $result=file_get_contents($url, false, $context);
        //echo $result ."<br>";
        http_response_code(200);
        break;
    case "poll":
        $switchcmd = 'getswitchstate';
        $url =  'http://fritz.box/webservices/homeautoswitch.lua?ain=' . $ain . '&switchcmd='. $switchcmd .'&sid=' . $SID .'';
        $result=file_get_contents($url, false, $context);
        echo $result;
        http_response_code(200);
        break;        
    default:
        http_response_code(400);
        return;
}


// Close Session
curl_close($ch);
?>



Benutzeravatar
m4d-maNu
Sequenzer
Sequenzer
Beiträge: 187
Registriert: 28. August 2012 21:17
1. Fernbedienung: H Ultimate
2. Fernbedienung: H Ultimate
3. Fernbedienung: H Touch
Software: myharmony.com
Heimkino 1: TV: Samsung UE46D8090
Heimkino 2: <---- Gehört noch zum linken System
Heimkino 3: TV: Samsung UE22F5470
Heimkino 4: DVR: Sagemcom RCIi88-320
Heimkino 5: Sound: Harman Kardon HS350
Heimkino 6: DVR: Samsung SMT-C7200
Heimkino 7: HTPC: Mac mini (mid '11) -> Plex
Heimkino 8: Sound: Lindy Toslink Switch
Heimkino 10: Konsole: PlayStation 3 (Fat)
Heimkino 11: Strom: Revolt Infrarot Steckdose
Heimkino 12: TV: Samsung LE23R32B
Heimkino 13: Konsole: PlayStation 4 (Pro)
Heimkino 15: DR: Sagemcom DCI85HD KD
1. Fernbedienung: H Ultimate
2. Fernbedienung: H Ultimate
3. Fernbedienung: H Touch
Software: myharmony.com

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von m4d-maNu » 6. Januar 2017 23:38

user303 hat geschrieben:Hallo Zusammen,

für diejenigen die gerne ihre Dect 200 von AVM mit der Logitech Harmony Ulimate Hub integrieren möchten, wollte ich euch folgenden Lösungsansatz vorstellen:

Mit einigen Codeschnipseln aus dem Netz und der AVM API habe ich ein serverseitiges PHP skript gebastelt, welches auf einem internen Webserver läuft und mit dem man folgende Aktionen per Aktor(Fritz Dect 200)
- An
- Aus
- Toggle
schalten lassen kann.

Aufruf schaut folgendermaßen aus:

Code: Alles auswählen

http://server:port/fritz.php?actname=MediaCenter&action=on

actname = Name des Aktors wie in der FB definiert (Achtung keine Leerzeichen erlaubt, Aktoren müssen einen eindeutigen namen haben)
action = on, off, toggle   (toggle schaltet von on->off oder off->on)

 
Damit könnte man bereits mit dem JB Media Light Manager loslegen und auf bestimmte IR oder Funk Befehle die WebRequest triggern.

Einzige Konfiguration im Skript: User und Passwort für die Fritz!box.
Ich Empfehle einen eigener User in der Fritzbox zu konfigurieren und die Rechte nur auf Smarthome zu beschränken. (User und Password stehen klartext im PHP Skript)

Um die Fritz Aktoren mit der Harmony zu verwenden brauchen wir einen zusätzlichen Service:
Die Software "Home Automation Bridge" ha-bridge (https://github.com/bwssytems/ha-bridge) gaukelt der Harmony eine Philips Hue Bridge vor.
In der ha-bridge müssen jetzt nur noch die Fritz Aktoren als Bridge Devices hinzugefügt werden.

Bsp.
Für On:
http://server:port/fritz.php?actname=MediaCenter&action=on

Für Off:
http://server:port/fritz.php?actname=MediaCenter&action=off

Das wars.


Sobald die Harmony den Hue Bridge eingerichtet hat, tauchen die Aktoren unter Geräten im Bereich Beleuchtung auf.

Wenn interesse besteht kann ich gerne genauere Infos dazu schreiben.

Ich muss nun mal nachfragen, ob ich das richtig verstehe.

Man benötigt folgendes:
-FritzBox die DECT Fähig ist
-DECT 200
-Ultimate Hub
-Webserver
-und dann das Script
-AVM API


Mehr nicht? Oder ist auch der JB Media Manager wichtig?
greez maNu
TV: Samsung UE46D8090
<---- Gehört noch zum linken System
TV: Samsung UE22F5470
DVR: Sagemcom RCIi88-320
Sound: Harman Kardon HS350
DVR: Samsung SMT-C7200
HTPC: Mac mini (mid '11) -> Plex
Sound: Lindy Toslink Switch
Konsole: PlayStation 3 (Fat)
Strom: Revolt Infrarot Steckdose
TV: Samsung LE23R32B
Konsole: PlayStation 4 (Pro)
DR: Sagemcom DCI85HD KD

Satalaner
Device-Versteher
Device-Versteher
Beiträge: 31
Registriert: 18. Januar 2013 23:38
Heimkino 1: Panasonic Vt30
Heimkino 2: Vu+ Ultimo

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von Satalaner » 7. September 2017 15:54

könnte jemand erklären wie ich das auf der Fritzbox installiere. Benötige ich fhem?
Panasonic Vt30
Vu+ Ultimo

Fonzo
Aktions-Durchschauer
Aktions-Durchschauer
Beiträge: 358
Registriert: 22. Dezember 2014 00:51
1. Fernbedienung: H Ultimate
Software: myharmony.com
Heimkino 1: AV Reciever: Denon AVR4311
Heimkino 2: TV: Samsung LE40C750
Heimkino 3: Sat: Dreambox 8000
Heimkino 4: Sonos: Connect, Play5, Play3, Play1
Heimkino 5: Apple TV3
Heimkino 6: FireTV
Heimkino 7: Philips HUE
Heimkino 8: IP-Symcon 4.3
Heimkino 9: Squeezebox
Heimkino 10: Amazon Alexa
Heimkino 11: Plex mit Rasplex und FLIRC
Heimkino 12: Dualmask Multiformat Tension Leinwand
Heimkino 13: Epson Beamer
1. Fernbedienung: H Ultimate
Software: myharmony.com

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von Fonzo » 7. September 2017 18:23

Satalaner hat geschrieben:
7. September 2017 15:54
könnte jemand erklären wie ich das auf der Fritzbox installiere. Benötige ich fhem?
Auf der Fritzbox selber wird gar nichts installiert der Aufruf an die Fritzbox erfolgt über Lua. Du brauchst in dem Beispiel ein Webserver, dieser kann Teil eines Gateways sein. Alternativ kann man auch Apache nutzten oder so was wie IP-Symcon da ist der Webserver integriert. Wenn die Harmony Remote über spezielle Gerätetasten verfügt must Du die HA-Bridge nutzen damit ein Hue Device emuliert wird. Sollte die Harmony Remote über keine Spezialtasten verfügen oder Du mit irgendeiner Taste das ausführen wollen brauchst Du z.B. FHEM und Fakeroku.
AV Reciever: Denon AVR4311
TV: Samsung LE40C750
Sat: Dreambox 8000
Sonos: Connect, Play5, Play3, Play1
Apple TV3
FireTV
Philips HUE
IP-Symcon 4.3
Squeezebox
Amazon Alexa
Plex mit Rasplex und FLIRC
Dualmask Multiformat Tension Leinwand
Epson Beamer

Wer ist online?

Mitglieder in diesem Forum: CommonCrawl [Bot] und 0 Gäste