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
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
Beiträge: 3
Registriert: 28. März 2011 09:10
1. Harmony: Elite
2. Harmony: One
3. Harmony: 555
Software: MyHarmony+PC-Software
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. Harmony: Elite
2. Harmony: One
3. Harmony: 555
Software: MyHarmony+PC-Software

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
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
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
Beiträge: 255
Registriert: 28. August 2012 21:17
1. Harmony: Ultimate
2. Harmony: Ultimate
3. Harmony: Touch
Software: MyHarmony
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: STB: Fire TV (Gen 2) mit 4K
Heimkino 8: Sound: Lindy Toslink Switch
Heimkino 9: STB: Fire TV Stick (Gen 2)
Heimkino 10: Konsole: PlayStation 3 (Fat)
Heimkino 11: Strom: 1x Revolt Infrarot Steckdose
Heimkino 12: TV: Samsung LE23R32B
Heimkino 13: Konsole: PlayStation 4 (Pro)
Heimkino 15: DR: Sagemcom DCI85HD
1. Harmony: Ultimate
2. Harmony: Ultimate
3. Harmony: Touch
Software: MyHarmony

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
STB: Fire TV (Gen 2) mit 4K
Sound: Lindy Toslink Switch
STB: Fire TV Stick (Gen 2)
Konsole: PlayStation 3 (Fat)
Strom: 1x Revolt Infrarot Steckdose
TV: Samsung LE23R32B
Konsole: PlayStation 4 (Pro)
DR: Sagemcom DCI85HD


Satalaner
Beiträge: 36
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
Smarthome Experte
Smarthome Experte
Beiträge: 618
Registriert: 22. Dezember 2014 00:51
1. Harmony: Elite
2. Harmony: Ultimate
Software: MyHarmony
Heimkino 1: AV Reciever: Denon AVC-X8500H
Heimkino 2: TV: Samsung LE40C750
Heimkino 3: Sat: Dreambox 920
Heimkino 4: Sonos: Connect, Play5, Play3, Play1
Heimkino 5: Blueray: DP-UB9004
Heimkino 6: FireTV
Heimkino 7: Philips HUE
Heimkino 8: IP-Symcon 5
Heimkino 9: Squeezebox
Heimkino 10: Amazon Alexa
Heimkino 11: Nvidia Shield
Heimkino 12: Dualmask Multiformat Tension Leinwand
Heimkino 13: Epson Beamer
Heimkino 14: Play Station 4 Pro
Heimkino 15: Google Home
1. Harmony: Elite
2. Harmony: Ultimate
Software: MyHarmony

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 AVC-X8500H
TV: Samsung LE40C750
Sat: Dreambox 920
Sonos: Connect, Play5, Play3, Play1
Blueray: DP-UB9004
FireTV
Philips HUE
IP-Symcon 5
Squeezebox
Amazon Alexa
Nvidia Shield
Dualmask Multiformat Tension Leinwand
Epson Beamer
Play Station 4 Pro
Google Home

Benutzeravatar

Kat-CeDe
Harmony Experte
Harmony Experte
Beiträge: 4407
Registriert: 18. Februar 2007 12:14
1. Harmony: Elite
2. Harmony: Ultimate
3. Harmony: Smart Control
Software: MyHarmony
Heimkino 1: TV: Samsung F6510/PS50C430/43KU5079
Heimkino 2: TV: Philip 43PUS6551, LG RZ-32LZ50
Heimkino 3: Beamer: TW3200/TW7300
Heimkino 4: BR:BDP450/HDI Prime 3/HDI 303D
Heimkino 5: MP: Zappiti 4K HDR
Heimkino 6: MP: QNap TS+HS 251/NUC5i3/Fire TV+Stick
Heimkino 7: SAT: VU+ Ultimo/2*Solo2/Duo2
Heimkino 8: SAT: VU+ Solo 4K/VU+Ultimo 4K/Wetek Play
Heimkino 9: AVR: Denon 4400H
Heimkino 10: SB: SC-HTE80EG-K, HT-XT1
Heimkino 11: Philips Hue/Z-Wave/Fritz!Dect/LM Air
Heimkino 12: Sonos Play:1, 3 FosCams
Heimkino 13: Echo/Dot/OpenHAB2/SmartThings/HABridge
Heimkino 14: Leinwand: VNX Atlantis Dream
Wohnort: Etelsen
Wohnort: Etelsen
1. Harmony: Elite
2. Harmony: Ultimate
3. Harmony: Smart Control
Software: MyHarmony

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von Kat-CeDe » 9. März 2018 23:07

Hi,
das Script hat bis vor ein paar Tagen funktioniert. Ich habe jetzt die interne FritzOS vom 8.3. drauf und es geht nicht mehr. Wer benu8tzt noch das Script eventuell auch mit sehr aktuellen Betas?

Ralf
--- Die Lücke, die ich hinterlasse, ersetzt mich vollständig ---
TV: Samsung F6510/PS50C430/43KU5079
TV: Philip 43PUS6551, LG RZ-32LZ50
Beamer: TW3200/TW7300
BR:BDP450/HDI Prime 3/HDI 303D
MP: Zappiti 4K HDR
MP: QNap TS+HS 251/NUC5i3/Fire TV+Stick
SAT: VU+ Ultimo/2*Solo2/Duo2
SAT: VU+ Solo 4K/VU+Ultimo 4K/Wetek Play
AVR: Denon 4400H
SB: SC-HTE80EG-K, HT-XT1
Philips Hue/Z-Wave/Fritz!Dect/LM Air
Sonos Play:1, 3 FosCams
Echo/Dot/OpenHAB2/SmartThings/HABridge
Leinwand: VNX Atlantis Dream

Benutzeravatar

Kat-CeDe
Harmony Experte
Harmony Experte
Beiträge: 4407
Registriert: 18. Februar 2007 12:14
1. Harmony: Elite
2. Harmony: Ultimate
3. Harmony: Smart Control
Software: MyHarmony
Heimkino 1: TV: Samsung F6510/PS50C430/43KU5079
Heimkino 2: TV: Philip 43PUS6551, LG RZ-32LZ50
Heimkino 3: Beamer: TW3200/TW7300
Heimkino 4: BR:BDP450/HDI Prime 3/HDI 303D
Heimkino 5: MP: Zappiti 4K HDR
Heimkino 6: MP: QNap TS+HS 251/NUC5i3/Fire TV+Stick
Heimkino 7: SAT: VU+ Ultimo/2*Solo2/Duo2
Heimkino 8: SAT: VU+ Solo 4K/VU+Ultimo 4K/Wetek Play
Heimkino 9: AVR: Denon 4400H
Heimkino 10: SB: SC-HTE80EG-K, HT-XT1
Heimkino 11: Philips Hue/Z-Wave/Fritz!Dect/LM Air
Heimkino 12: Sonos Play:1, 3 FosCams
Heimkino 13: Echo/Dot/OpenHAB2/SmartThings/HABridge
Heimkino 14: Leinwand: VNX Atlantis Dream
Wohnort: Etelsen
Wohnort: Etelsen
1. Harmony: Elite
2. Harmony: Ultimate
3. Harmony: Smart Control
Software: MyHarmony

Re: Harmony Ultimate und AVM Fritz!Dect

Beitrag von Kat-CeDe » 8. April 2018 21:50

Hi,
mit der aktuellen internen Firmware bekomme ich z.Z.
"No actuator was found with the name"

Mist es lief gerade wieder fast alles so schön rund.

Ralf
--- Die Lücke, die ich hinterlasse, ersetzt mich vollständig ---
TV: Samsung F6510/PS50C430/43KU5079
TV: Philip 43PUS6551, LG RZ-32LZ50
Beamer: TW3200/TW7300
BR:BDP450/HDI Prime 3/HDI 303D
MP: Zappiti 4K HDR
MP: QNap TS+HS 251/NUC5i3/Fire TV+Stick
SAT: VU+ Ultimo/2*Solo2/Duo2
SAT: VU+ Solo 4K/VU+Ultimo 4K/Wetek Play
AVR: Denon 4400H
SB: SC-HTE80EG-K, HT-XT1
Philips Hue/Z-Wave/Fritz!Dect/LM Air
Sonos Play:1, 3 FosCams
Echo/Dot/OpenHAB2/SmartThings/HABridge
Leinwand: VNX Atlantis Dream