Neues Modul 82_UmHorizon.pm - Unitymedia Horizon Box

Begonnen von LarsMie, 24 April 2017, 00:18:15

Vorheriges Thema - Nächstes Thema

LarsMie

Hallo zusammen,

Der Eingangspost wird beim nächsten Update angepasst. Es gibt dann eine Anleitung wie man die Richtige IP-Adresse der Horizon Box herausfindet. Steht auch etwas verkürzt etwas weiter unten in diesem Post.

Bisher geht:
- Ein- Ausschalten
- Programmnummer eingeben
- Programm umschalten

Ich habe vor einiger zeit mal nach Infos gestöbert, ob es ein FHEM-Modul für die Horizon-Box von Unitymedia gibt. Gibt es jedoch (immer) noch nicht. Also habe ich heute mal intensiver geforscht, da ich nach Infos aus diesem Thread (-> https://forum.fhem.de/index.php?topic=19390.0 eine möglichkeit gesucht habe, die Kommandos über VNC abzusetzen.

Nach etwas recherche bin ich auf das hier gestoßen:

http://www.domoticz.com/wiki/Control_ZiggoHorizon

#!/usr/bin/php
<?php
/*
Script (C) KixAss 2016 - horizon@kixass.net
 
Possible keys:
KEY_POWER = E0 00
KEY_OK  = E0 01
KEY_BACK  = E0 02
KEY_CHAN_UP = E0 06
KEY_CHAN_DWN = E0 07
KEY_HELP = E0 09
KEY_MENU = E0 0a
KEY_GUIDE = E0 0b
KEY_INFO = E0 0e
KEY_TEXT = E0 0f
KEY_MENU1 = E0 11
KEY_MENU2 = E0 15
KEY_DPAD_UP = E1 00
KEY_DPAD_DOWN = E1 01
KEY_DPAD_LEFT = E1 02
KEY_DPAD_RIGHT = E1 03
KEY_NUM_0 = E3 00
KEY_NUM_1 = E3 01
KEY_NUM_2 = E3 02
KEY_NUM_3 = E3 03
KEY_NUM_4 = E3 04
KEY_NUM_5 = E3 05
KEY_NUM_6 = E3 06
KEY_NUM_7 = E3 07
KEY_NUM_8 = E3 08
KEY_NUM_9 = E3 09
KEY_PAUSE = E4 00
KEY_STOP = E4 02
KEY_RECORD = E4 03
KEY_FWD = E4 05
KEY_RWD = E4 07
KEY_MENU3 = Ef 00
KEY_UNKNOWN_0  = Ef 06; // TIMESHIFT INF
KEY_UNKNOWN_1 = Ef 15; // POWE
KEY_UNKNOWN_2 = Ef 16; // N
KEY_UNKNOWN_3 = Ef 17; // RC PAIRIN
KEY_UNKNOWN_4 = Ef 19; // TIMIN
KEY_ONDEMAND = Ef 28
KEY_DVR  = Ef 29
KEY_TV = Ef 2a;
*/
 
function makeBuffer($data)
{
    
$data str_replace(" """$data);
    return 
hex2bin($data);
}
 
 
$localip "192.168.192.100"// IP of mediabox
$localport 5900// Controlport of mediabox
$key "E0 00"// Power toggle
 
if ($sock fsockopen($localip$localport))
{
    
$data fgets($sock); // readVersionMsg
    
echo "recv version: " $data "<br>";
 
    echo 
"-----------------------------<br>";
 
    
fwrite($sock$data); // Send the same version back
 
    
$data fgets($sock2); // Get OKE
    
echo "recv: " $data "<br>";
 
    echo 
"-----------------------------<br>";
 
    
fwrite($sockmakeBuffer("01")); // Send Authorization type (none)
 
    
$data fgets($sock4); // Get OKE
    
echo "recv: " $data "<br>";
 
    echo 
"-----------------------------<br>";
 
    
$data fgets($sock24); // Get init data
    
echo "recv: " $data "<br>";
 
    
fwrite($sockmakeBuffer("04 01 00 00 00 00 " $key)); // Turn key on
    
usleep(400);
    
fwrite($sockmakeBuffer("04 00 00 00 00 00 " $key)); // Turn key off
 
    
fclose($sock);
}
?>


Das ist ein PHP-Script, welches einen Socket auf der VNC-IP von der Box öffnet und einen Befehl absetzt. Klappt prima nach dem Einstellen der Richtigen IP-Adresse. Die Box reserviert ja gleich einige IPs im Heimnetzwerk (als Client).

Man muss vorher die richtige IP mit
nmap -sV -Pn <ipadresse>
herausfinden. Wobei hier die IPs der Box durchsucht werden müssen um den offenen VNC-Port herauszufinden (Port 5900).



Wie gesagt, daas PHP-Script funktioniert einwandfrei, nun möchtre ich das ganze in ein Perl-Script umwandeln. Da hapert es noch etwas. Ich bekomme eine Verbindung zur Box und bekomme auch eine Rückmeldung:

TCP Connection Success.
Received from Server : RFB 003.008


Das ist das verwendete Protokoll plus Version.

Allerdings klappt das versenden von Nachrichten noch nicht. Habe versucht das äquivalent zu den PHP-Funktionen zu finden und das dann umzubauen.

Hier mal mein Script, vielleicht kann ja einer helfen, der sich etwas besser mit perl auskennt und mir nen Tipp geben, was ich ändern muss.

#!/usr/bin/perl
#tcpclient.pl

use IO::Socket::INET;
use Time::HiRes qw ( usleep );

# flush after every write
$| = 1;

my ($socket,$client_socket);

# creating object interface of IO::Socket::INET modules which internally creates
# socket, binds and connects to the TCP server running on the specific port.
$socket = new IO::Socket::INET (
PeerHost => '192.168.1.79',
PeerPort => '5900',
Proto => 'tcp',
) or die "ERROR in Socket Creation : $!\n";

print "TCP Connection Success.\n";

# read the socket data sent by server.
$data = <$socket>;
# we can also read from socket through recv()  in IO::Socket::INET
#$socket->recv($data,1024);
print "Received from Server : $data\n";

# write on the socket to server.
$data = "040100000000E007";

my $test = pack("H*",$data);

printf($test);


binmode $socket;

#print $socket $test;
#usleep(400);
#print $socket $test;
# we can also send the data through IO::Socket::INET module,
$socket->send($test);
usleep(400);
$socket->send($test);

sleep (10);
$socket->close();

LarsMie

Oh, ich glaube ich bin im Falschen unterforum, das hier ist ja nur für funktionierende. Naja Teilweise klappts ja.

Falls es einen besseren Ort gibt, bitte dahin verschieben, in den Entwicklerbereich kann ich ja nichts posten.

LarsMie

#!/usr/bin/perl
#tcpclient.pl

use IO::Socket::INET;
use Time::HiRes qw ( usleep );

# flush after every write
$| = 1;

my ($socket,$client_socket);

# creating object interface of IO::Socket::INET modules which internally creates
# socket, binds and connects to the TCP server running on the specific port.
$socket = new IO::Socket::INET (
PeerHost => '192.168.1.79',
PeerPort => '5900',
Proto => 'tcp',
) or die "ERROR in Socket Creation : $!\n";

print "TCP Connection Success.\n";

# read the socket data sent by server.
$data = <$socket>;
# we can also read from socket through recv()  in IO::Socket::INET
#$socket->recv($data,1024);
print "Received from Server : $data\n";
#send back received data
$socket->send($data);
usleep(400);
#get server OKE
$socket->recv($data,2);
print unpack "H*", $data;
#send authentication type
$data = pack "H*","01";
$socket->send($data);
#get server OKE
$socket->recv($data,4);
#$data = <$socket>;
print unpack "H*",$data;
#get init data
$socket->recv($data,24);
#$data = <$socket>;
print unpack "H*",$data;

# write on the socket to server.
# write program down command
$data = pack "H*","040100000000E000";
$socket->send($data);
usleep(400);
$data = pack "H*","040000000000E000";
$socket->send($data);


#close connection
$socket->close();


so klappts schonmal. ein- und ausschalten geht mit diesem schnipsel. Jetzt gehts ans implementieren von den restlichen kommandos :)

CoolTux

Guten Morgen,

Ich finde Dein Arrangement sehr gut. Kann mir vorstellen das die Box doch gut verbreitet ist und daher eine Implementierung in FHEM Sinn ergeben würde.
Ich hoffe Du bleibst dran. Und um Dich etwas an zu spornen habe ich Dir etwas angehangen.

Ich habe oft gesehen das gerade Socket Implementierungen an FHEM vorbei in die Module eingearbeitet wurden, daher war ich so frei und habe Dir ein passendes Modul Skelett entworfen.
Du kannst den Kopf gerne löschen, war jetzt nur zu faul. Ich konnte es nicht auf Lauffähigkeit testen. Also bitte nur im Testsystem rennen lassen.

Den Thread solltest Du nach Multimedia verschieben.


Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

LarsMie

Moin,

freut mich sehr das zu hören! :)

Ich denke auch, dass das Sinn macht, die Horror-Box als Modul zu implementieren. Es gibt mittlerweile eine neue Version (Horizon v2), die hat soweit ich weiß den gleichen Befehlssatz.

Vielleicht kann man der Box auch noch mehr entlocken.

Danke für deine Vorarbeit, ich werde mich auf jeden Fall ans Werk machen, weil ich die Box auch in meine Automation einbinden möchte. Mit einem Modul ist das wesentlich einfacher als immer scripte auszuführen bzw. aufzurufen. Ich les mich dann mal in die Modulprogrammierung ein.


Könnte ein Moderator das ganze dann in den Multimedia-Bereich verschieben?

CoolTux

Das verschieben kannst Du auch alleine machen. Einfach unten links auf VERSCHIEBEN klicken.

Wenn Du noch Fragen wegen Modulentwicklung hast können wir das hier auch gerne Diskutieren.



Grüße
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Brause

Das klingt ja richtig Interessant, dann wäre meine Horizon(UPC CH) wohl doch zu was zu gebrauchen.
Muss doch gleich mal schauen das ich sie ins Netz einbinde (ohne das sie 36 Adressen belegt)

LarsMie

Schön!

Werd mich auf jeden Fall reinarbeiten und ein Modul draus erstellen.

Gibt hier und da etwas Probleme, aber die, die schon aufgekommen sind habe ich gelöst bekommen.

Bis jetzt geht:

- Power on und off (wobei hier jeweils der gleiche befehl gesendet wird, da muss ich mal schauen, wie ich den Power-Status der Box am besten speichere oder abfrage)
- Channelnummer einstellen


Ich habe das Modul mal angehangen, beim nächsten Update werde ich den Eingangpost editieren.

LarsMie

Zitat von: CoolTux am 24 April 2017, 11:01:46
Wenn Du noch Fragen wegen Modulentwicklung hast können wir das hier auch gerne Diskutieren

Ich komm bestimmt drauf zurück. Die Grundfunktionen werd ich denk ich mal hinbekommen. Aber mir schwirren noch so ein paar ideen im Kopf, wie z.B. Favoritensender und so dinge.

LarsMie

Ich möchte gerne die Tasten Kategorisieren, habe aber keine Ideen :)

'KEY_POWER' => 'E000', #
'KEY_OK' => 'E001',
'KEY_BACK' => 'E002',
'KEY_CHAN_UP' => 'E006', #
'KEY_CHAN_DWN' => 'E007', #
'KEY_HELP' => 'E009',
'KEY_MENU' => 'E00a',
'KEY_GUIDE' => 'E00b',
'KEY_INFO' => 'E00e',
'KEY_TEXT' => 'E00f',
'KEY_MENU1' => 'E011',
'KEY_MENU2' => 'E015',
'KEY_DPAD_UP' => 'E100', #
'KEY_DPAD_DOWN' => 'E101', #
'KEY_DPAD_LEFT' => 'E102', #
'KEY_DPAD_RIGHT' => 'E103', #
'KEY_NUM_0' => 'E300', # Num Keys implemented for channel_no
'KEY_NUM_1' => 'E301',
'KEY_NUM_2' => 'E302',
'KEY_NUM_3' => 'E303',
'KEY_NUM_4' => 'E304',
'KEY_NUM_5' => 'E305',
'KEY_NUM_6' => 'E306',
'KEY_NUM_7' => 'E307',
'KEY_NUM_8' => 'E308',
'KEY_NUM_9' => 'E309',
'KEY_PAUSE' => 'E400', #
'KEY_STOP' => 'E402', #
'KEY_RECORD' => 'E403', #
'KEY_FWD' => 'E405', #
'KEY_RWD' => 'E407', #
'KEY_MENU3' => 'EF00',
'KEY_UNKNOWN_0' => 'EF06', # TIMESHIFT INF
'KEY_UNKNOWN_1' => 'EF15', # POWE
'KEY_UNKNOWN_2' => 'EF16', # N
'KEY_UNKNOWN_3' => 'EF17', # RC PAIRIN
'KEY_UNKNOWN_4' => 'EF19', # TIMIN
'KEY_ONDEMAND' => 'EF28',
'KEY_DVR' => 'EF29',
'KEY_TV' => 'EF2a', 


Die mit # ohne text Gekennzeichneten Tasten sind schon gemappt. Lässt sich leider nicht so formatieren, dass alles gleichmäßig aussieht hier im Forum

CoolTux

Verstehe gerade die Frag enicht. Geht es Dir um Code oder um Estetik?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

LarsMie

Eher um Ästhetik, also die Tasten in ordentliche unterkategorien einzuordnen in FHEM.

Also als Beispiel die Dpad buttons:

set Horizon dpad <up|down|left|right>

Das dann z.B. für andere Tasten, die man kategorisieren/gruppieren kann. Ich möchte das einfach eher etwas übersichtlicher gestalten, als alles in einem Dropdown zu haben.

Mir fallen nur einfach keine Begriffe für Kategorien ein. Da bin ich leider nicht so Kreativ wie beim Programmieren  ;D

CoolTux

Geht mir auch so. Vielleicht finden sich ja ein paar kreative Wortfinder  ;D
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

sluggyly

heyhey,

ich habe mich einmal ran gesetzt, und sämtliche Programme, die derzeit von Unitymedia bei horizon verfügbar sind, in ein File geschrieben. Habe das Modul bislang jedoch nur um ein Reading erweitert, dass mir den aktuellen Channel anzeigt. Mir schwebt da vor, direkt einen Sender auszuwählen, der dann geschaltet wird. Damit nicht noch mehr Leute die Arbeit haben, sämtliche TV-Channel aufzuschreiben, hier das File.

hologramm

Hi Leute!

Zum Programmieren bin ich absolut ungeeignet, aber ich gebe mich sehr gerne als Tester her falls bedarf besteht.
Habe eben mal (versucht) das Modul in fhem einzubinden, aber fhem meckert dauernd "unbekanntes Modul UmHorizon" (82_UmHorizon.pm ist in contrib, rechte passen).
Meine def war: define Horizon UmHorizon 192.168.178.103. Ja, auf der 103 lauscht der VNC, nmap sagt das auch. Das Web-Interface der Horizon erreiche ich aber auf der 102.

Ich wäre dankbar für input, denn ich das Modul interessiert mich SEHR.

@sluggyly:

Gute Idee, nur leider macht dir UM da grade nen fetten Strich durch die Rechnung:

ZitatAm 29.08. in NRW, 05.09. in Hessen und 12.09. in BW erweitern wir unser Senderangebot für Sie und führen eine komplett neue Senderplatzierung durch

Grüße
Björn
FHEM hab ich auch

MaMi7880

Hallo,

ich schließe mich dem Vorredner an, hätte auch Interesse an dem Modul und bin für ausführliche Tests bereit. Getestet habe ich das aktuelle Modul noch nicht, bin soeben erst über den Beitrag gestolpert.

Gruß
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

MaMi7880

#16
Hallo,

ich habe mir erlaubt (ohne vorherige Erlaubnis des Modulautors) etwas in dem Modul rum zuschrauben.

Grund war eigentlich die Integration in mein Stimmen-gesteuertes System. Wie es so ist kam eins zu dem anderen, dabei kam dann folgendes raus:


# 20171026 version to 0.0.2
# + Input youth-protection-pin (send OK-OK-PIN-OK),
#   set attr UM_pin <dddd> to activate
# + sort Keys into groups like Remotecontroll (NUM-Block/DPAD-Block/etc.)
# + integrade automatic Socket-(dis)connect (default is auto),
#   turn off with attr <name> UM_auto false


Vielleicht ist es ja im Sinne des Autors ansonsten Entschuldige ich mich hiermit...
Das wäre mein erstes mal, dass ich sowas mache also bitte um Verständnis für den Programmier-Stil, normalerweise programmiere ich andere Sachen  :P

Beste Grüße
Manuel

Edit: Änderung geht erst mal an LarsMie
Edit: Patch angehangen
Edit: komplette Datei angehangen
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

CoolTux

Erstelle bitte ein Patch File und informiere dem Modulauthor per Mail.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

CoolTux

Gerade gesehen das der Author das letzte Mal im Mai online war. Ist also schon ne Weile her.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MaMi7880

Zitat von: CoolTux am 26 Oktober 2017, 18:22:15
Erstelle bitte ein Patch File und informiere dem Modulauthor per Mail.

Danke für die Antwort...
Wie gesagt, ist das erste mal... Ich werde natürlich den Regeln folgen und hole dies nach ... Habe einfach angefangen und drauf los getippt ohne weiter auf die SVN-Regeln zu achten... mia culpa ...
Ich nehme die Datei raus und wende mich erst mal an den Modulautor...
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

CoolTux

Datei kannst drin lassen, oder besser noch. Erstelle nur einen patch den du dann hier dran hängst.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MaMi7880

Den Patch kann ich doch nur erstellen wenn das Modul um SVN vorhanden ist, oder? Ich finde es nur nicht.
Oder reicht ein einfaches delta?
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

CoolTux

Du nimmst das Ausgangsmodul ist ja glaube hier im ersten Post angehangen und Dein jetziges Modul und erstellst aus beiden ein Patch. Einfach mal googeln da findest bestimmt was.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MaMi7880

#23
Super, danke für die Info...

Erledigt, Patch oben abgehangen... Hoffe es ist richtig so...
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

Brause

Hallo MaMi

könntest Du doch bitte nochmal die komplette pm-Datei anhängen oder mir zukommen lassen.
Wenn ich versuche das Patch einzuspielen ändert sich bei mir nur der Versionskommentar.


patching file 82_UmHorizon.pm
Hunk #2 FAILED at 54.
Hunk #3 FAILED at 71.
Hunk #4 FAILED at 140.
Hunk #5 FAILED at 157.
Hunk #6 FAILED at 184.
Hunk #7 FAILED at 197.
Hunk #8 FAILED at 278.
Hunk #9 FAILED at 368.
Hunk #10 FAILED at 377.
Hunk #11 FAILED at 409.
Hunk #12 FAILED at 423.
Hunk #13 FAILED at 449.
Hunk #14 FAILED at 467.
13 out of 14 hunks FAILED -- saving rejects to file 82_UmHorizon.pm.rej


Danke und Gruss aus der Schweiz
Brause

MaMi7880

Zitat von: Brause am 28 Oktober 2017, 17:29:59
Hallo MaMi

könntest Du doch bitte nochmal die komplette pm-Datei anhängen oder mir zukommen lassen.
Wenn ich versuche das Patch einzuspielen ändert sich bei mir nur der Versionskommentar.


patching file 82_UmHorizon.pm
Hunk #2 FAILED at 54.
Hunk #3 FAILED at 71.
Hunk #4 FAILED at 140.
Hunk #5 FAILED at 157.
Hunk #6 FAILED at 184.
Hunk #7 FAILED at 197.
Hunk #8 FAILED at 278.
Hunk #9 FAILED at 368.
Hunk #10 FAILED at 377.
Hunk #11 FAILED at 409.
Hunk #12 FAILED at 423.
Hunk #13 FAILED at 449.
Hunk #14 FAILED at 467.
13 out of 14 hunks FAILED -- saving rejects to file 82_UmHorizon.pm.rej


Danke und Gruss aus der Schweiz
Brause

Hallo Brause,

Ich habe die komplette Moduldatei an meinen oberen Beitrag noch zusätzlich angehangen. Wie schon gesagt, die Änderungen liefen ohne Zustimmung des Modulautors. Leider hat sich LarsMie noch nicht gemeldet. Würde mich auch gerne als Developer anbieten wenn sonst kein Interesse mehr besteht...

Das mit der Patch-Datei tut mir Leid. War das erste mal, ich lerne noch.

Beste Grüsse
MANUEL
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

TottiToad

Hi,

würde mich sehr freuen wenn das Modul weiter entwickelt wird !

CoolTux wird bestimmt was dazu sagen können ob @MaMi7880 das Modul weiterentwickeln kann, falls sich LarsMie nicht mehr meldet.


Ich wäre jedenfalls sehr dankbar die HorizonBox vernünftig einbinden zu können.
Teste gerne ;)

Grüße & Danke
Totti

CoolTux

Wen der ursprüngliche Modulauthor angeschrieben wurde, gib ihm 2 Wochen Zeit zum antworten. Passiert nichts kannst du einen Fork machen und am besten in einem neuen Thread das neue Modul/Fork anbieten.
Achte im neuen Modul darauf einen Verweis im Rahmen der GPL2 auf das Ursprungsmodul und den Author ein zu tragen.



Grüße
Leon
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

MaMi7880

ja, ist klar, ich will ja keinem so schnell etwas weg nehmen.
Ich warte.. ;-)

Beste Grüße
Manuel
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

LarsMie

#29
Hallo zusammen, ich habe das ganze erst jetzt mitbekommen, da ich längere Zeit nicht in der Heimat war und mich auf meinen neuen Job konzentriert habe.

Das Projekt hatte ich aber noch im Hinterkopf.

Allen, die am Modul (Mit-)Arbeiten möchten, können dies sehr gerne tun. Da habe ich überhaupt kein Problem mit! (mein Bananapi ist ständig abgestürzt und irgendwann hatte ich keine lust mehr den immer wieder zu reparieren, bald kommt ein stromsparender htpc server)

Also ran da und viel Spaß.

Freut mich, dass Ihr weitergemacht habt und das ganze dann fest implementiert werden soll, falls das noch nicht passiert ist! :)

MaMi7880

Zitat von: LarsMie am 25 Dezember 2017, 00:21:29
Hallo zusammen, ich habe das ganze erst jetzt mitbekommen, da ich längere Zeit nicht in der Heimat war und mich auf meinen neuen Job konzentriert habe.
.....
Freut mich, dass Ihr weitergemacht habt und das ganze dann fest implementiert werden soll, falls das noch nicht passiert ist! :)
Hallo,

fest implementiert ist das Modul noch nicht aber ich bin dran, leider aus Zeitmangel nach der ersten Komiteevorstellung noch nicht ganz fertig geworden. Einige Sachen muss und will ich mir auch erst anlesen um zu verstehen was wie und warum es passiert. Es wird ....

Beste Grüße
Manuel
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

kenny1984

Das hört sich ja ganz gut an würde meinen UPC auch gerne einbinden

Ipsch187

#32
Hat außer mir noch jemand Schwierigkeiten damit, dass im notify die "key-Funktionen" nicht funktionieren?
Dpad, Channel und Number laufen bei mir...




MaMi7880

#33
Hallo,

leider bin ich immer noch nicht final dazu gekommen das Modul komplett an den FHEM-Richtlinien anzupassen.

Im Anhang findest du eine erste überarbeitete Version die zwar funktioniert aber noch nicht 100% nach den Wünschen meines Mentors  :-\

Ich werde mich aber wieder ransetzten. Bis dahin hier die Version 0.0.3

Edit: Die Key-Funktionen werde ich noch mal prüfen.


######################## Wichtige Hinweise und Links ###################################
# version   
# 0.0.1
#      + first version from 'LarsMie'
# 0.0.2
#      + Input parental control PIN (module send OK-OK-PIN-OK to reciver),
#        set attr UM_pin <dddd> to activate
#      + sort Keys into groups like Remotecontroll (NUM-Block/DPAD-Block/etc.)
#      + integrade automatic Socket-(dis)connect (default is auto),
#        turn off with attr <name> UM_auto false
# 0.0.3
#      + implement "DevIo" (automatic connection handling)
#      + other changes according to guidelines
# 0.1.0
#      + DevIo_CloseDev when device is disabled
#      + repair function "set key"
#      + began commandref
# 0.1.1
# + add the keys "BACK" and "MENU" to dpad
# 0.1.2
#      + add "require DevIo.pm"
#      + general code change
########################################################################################
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

MaMi7880

Neue Version 0.1.0 im Beitrag:

https://forum.fhem.de/index.php/topic,71018.msg804289.html#msg804289

Es fehlt immer noch eine komplette Beschreibung, die ich die nächsten Tage noch nachliefern werde.
Ansonsten sollte die "key"-Funktion jetzt funktionieren.


Gruß
Ma.
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

Ipsch187

Ich melde mich zwar verspätet, aber besser spät, als nie - Vielen Dank für deine Arbeit.
Dann habe ich ja jetzt wieder eine Beschäftigung...  :D

Ipsch187

#36
Es geht voran. Die Keys funktionieren - zumindest die, welche ich getestet habe.
Allerdings fällt mir gerade auf, dass von dem DPad scheinbar nur Up, Down, Left, Right und Menu unterstützt wird.
Back und OK fehlen demnach.

Edit:

Ok, Freunde der guten Unterhaltung -

ich habe zwar absolut keine Ahnung von HTML, habe aber gerade mal die .pm im Editor geöffnet und mich eingelesen.
Die Dpad Keys "BACK" und "OK" habe ich nun hinzugefügt und es läuft.
Ich denke, das Ganze jetzt hochzuladen bringt mehr Durcheinander in die ganze Sache hier, oder?
Zumal die Änderungen ja innerhalb einer halben Minute gemacht sind.

Beste Grüße

MaMi7880

#37
Entschuldigt bitte meine Abwesenheit,

ich dachte hätte alle Tasten erwischt und laut Bedienungsanleitung benamt. Aber ich schaue es mir an.


Gruß
Ma.

Zitatich habe zwar absolut keine Ahnung von HTML....
mhh.. es ist kein HTML  ;)

ZitatZumal die Änderungen ja innerhalb einer halben Minute gemacht sind
und dann hast du auch verstanden was du gemacht hast?


RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

MaMi7880

RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

darthklaus59

Hallo ich bin FHEM Neuling,

wo finde ich eine wiki über das Modul 82_UmHorizon.pm - Unitymedia Horizon Box?
Wo finde ich den Code?
Wie bekomme ich das eingebunden?

bisher erfolgreich eingebunden HMCCU2, LogitechHarmony, PHTV, PioneerAVR, Hue.

Gruß

CoolTux

Lese bitte einmal einen Beitrag über Deinen.

Es scheint aber inoffiziell zu sein, Du solltest also als Anfänger vielleicht erstmal die Finger davon nehmen. Meine persönliche Empfehlung.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

darthklaus59

Danke für deinen Hinweis. Ich hatte das glatt übersehen. Nach 4 Wochen FHEM auf rpi3+ mit arch linux kann ich das wohl wagen. Ich wollte eigentlich nur das meine neue logitechharmony mit meiner alten HMCCU2 spricht  ;)

Danke

CoolTux

Zitat von: darthklaus59 am 22 November 2018, 13:20:01
Danke für deinen Hinweis. Ich hatte das glatt übersehen. Nach 4 Wochen FHEM auf rpi3+ mit arch linux kann ich das wohl wagen. Ich wollte eigentlich nur das meine neue logitechharmony mit meiner alten HMCCU2 spricht  ;)

Danke

1. Wiki ist keine Pflicht
2. Commandref ist Pflicht bei offiziellen Modulen
3. Das Modul hast Du gefunden!
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

darthklaus59

Danke noch mal :) nach dem ich die richtige IP hatte funktionierte die Box auch.

Gruß

MaMi7880

#44
Hallo,

das Modul ist noch nicht offiziell, die Nachfrage ist auch nicht so hoch das es Priorität hätte.
Es funktioniert soweit ist aber noch nicht komplett an die GFP (Good FHEM Practice  ;) )  angepasst.
Device specific help ist vorhanden. Bei Fragen, Anregungen und Tipps einfach melden.


Gruß Ma.

Edit: Neue Versionen immer hier:
https://forum.fhem.de/index.php/topic,71018.msg804289.html#msg804289
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

inchinoer@gmail.com

Hallo,

ich bin neu hier im Forum und auch FHEM-Beginner, aber technisch als Elektroingenieur nicht gänzlich unbedarft, obwohl ich nicht allzu viel Erfahrung mit Skripten habe. Bei mir läuft das FHEM als Docker-Container auf meinem Qnap HS251+ NAS und ich habe mir das 82_UmHorizon-Modul heruntergeladen, da ich in erster Linie die Horizon-Box (+SonyBraviaTV +Sony Verstärker + Sony BluRay) mit meiner Harmony Elite über den HarmonyHub bediene, hier aber einige IR-Signale nicht vorhanden sind bzw. nicht funktionieren. Diese Befehle (Guide, Aufnahmen...) lese ich nun über ausgesuchte FakeRoku-Tasten ein, die ich meiner Fernseh-Aktivität zugeordnet habe und damit nun mittels Notify die entsprechenden Signale über das Horizon-Modul absetze.
Das funktioniert auch soweit ganz gut, abgesehen von zwei Punkten:
1. Mit der Version 0.1.1 gab es beim Start des Containers folgende Fehlermeldung:
Undefined subroutine &main::DevIo_CloseDev called at ./FHEM/82_UmHorizon.pm line 170.
dies konnte ich durch ein use DevIO nach Zeile 55 beheben (Hoffe das ist die richtige Lösung zum Problem).
2. Nach einiger Zeit funktionieren die zusätzlichen Befehle nicht mehr. Im Event-Log ist zu erkennen, dass die Befehle von der Harmony über den FakeRoku korrekt eingelesen werden und der Horizon-Befehl wird abgesetzt (merkwürdigerweise in der falschen Reihenfolge, aber das ist auch so, wenn alles funktioniert)
2019-06-28 20:49:31.650 UmHorizon Horizon key GUIDE
2019-06-28 20:49:31.650 fakeRoku roku keypress: Search

Die Befehle haben aber keine Auswirkungen mehr auf die HorizonBox. Auch nicht, wenn ich die Befehle direkt absetzte. Nach einem shutdown restart geht dann wieder alles. Aus-Einschalten der Horizon-Box führt nicht zum Verlust der Funktion.
Gestern lief noch alles, heute früh wieder nicht. Über Nacht kam noch folgendes im Log-File, bei der die IP-Adresse meiner Horizon-Box auftaucht:
2019.06.29 01:11:38.322 2: roku: unhandled message from 192.168.0.77: M-SEARCH / HTTP/1.1
ST: urn:metrological-com:service:webbridge:1
Content-Length: 16
Content-HMAC: sha256 ALjkpu4vlI0nMiHvDKcJoqiJXWPA6RTPj+XPfMj4iQs

1561763492966573
2019.06.29 01:11:38.412 2: roku: unhandled message from 192.168.0.77: M-SEARCH / HTTP/1.1
ST: urn:metrological-com:service:webbridge:1
Content-Length: 16
Content-HMAC: sha256 ALjkpu4vlI0nMiHvDKcJoqiJXWPA6RTPj+XPfMj4iQs

156176349296657

Hat jemand eine Idee?

Gruß

MaMi7880

Hallo,

bitte entschuldige die späte Reaktion. Zu meiner eigenen Schande muss ich gestehen, dass ich das "Horizon-Projekt" habe schleifen lassen und aus Zeitmangel und geringer Einsatzdichte nichts mehr an dem Modul nachgearbeitet habe. Ich werde mir das mal anschauen und melde mich dann wieder.

Gruß
Ma80
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

inchinoer@gmail.com

Hallo,

Kein Problem, lass dir Zeit. Ich bin sowieso gerade beruflich unterwegsin Rumänie. LObige Fehlermeldungen kommen anscheinend immer einige Zeit nach dem Ausschalten der Horizon Box (Stand by) und danach geht die Bedienung nicht mehr.

Gruẞ

MaMi7880

Danke für die Info,

da ich meine Box nicht (mehr) in den Deepstandby schicke habe ich dieses Verhalten nicht beobachten können, werde dies aber nachholen. Die Ursache für DevIO - Problem habe ich bereits gefunden.
Ich arbeite weiter daran und werde dann ein Update liefern.
Bis dahin frohes Schaffen...

Gruß
Ma80

RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

MaMi7880

Neue Version im Beitrag:

https://forum.fhem.de/index.php/topic,71018.msg804289.html#msg804289

Behebt das fehlende Einbinden des DevIO Moduls.
Bitte testen, da es bei mir auch ohne diese Änderung funktionierte.

Das Modul funktioniert nur richtig wenn sich der Receiver im Soft-Stand-By (höchster Energieverbrauch) befindet, andernfalls ist eine Verbindung nicht möglich und man kann den Receiver nicht von "Fern" einschalten. In diesem Fall muss er über die Fernbedienung oder am Gerät selbst eingeschaltet werden, damit er sich über FHEM steuern lässt.

Leider kann ich zu den anderen Fehlern nichts sagen da ich es weder in Docker noch mit FakeRoku nutze noch mich damit auskenne und dazu nichts sagen kann.

... und sorry dass es so lange gedauert hat ...

RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

inchinoer@gmail.com

Da ich nun für längere Zeit beruflich in Usbekistan bin, kann ich das erst in ein paar Wochen testen. Soweit ich weiß benutze ich aber den Stand-By mit dem höchsten Stromverbrauch an der Horizon Box.

Gruẞ

MaMi7880

Alles klar, sag einfach Bescheid.

Wie gesagt mit dem Soft-Stand-By funktioniert es bei mir ohne Probleme, schalte ich die Box in einen stromsparenderen Stand-By kann ich sie auch nicht mehr von Fern aktivieren.

Alles Gute und beste Grüße
Manuel


Zitat von: inchinoer@gmail.com am 29 Juli 2019, 11:42:47
Da ich nun für längere Zeit beruflich in Usbekistan bin, kann ich das erst in ein paar Wochen testen. Soweit ich weiß benutze ich aber den Stand-By mit dem höchsten Stromverbrauch an der Horizon Box.

Gruẞ
RaspberryPi 3 mit nanoCUL & JeeLink | FHEM 6.0 mit IT, HM  - Sensoren/Aktoren & Lacrosse Temp./Humi. | Shelly | Amazon Echo | Logitech Harmony Hub | Philips HUE | andFHEM

dancedevil1982

Hallo,
das Modul verursacht bei mir eine CPU Auslastung von 100% (Ubuntu Server 16.04). Hat jemand ähnliche Beobachtungen gemacht?