Logitech Harmony Hub

Begonnen von der-Lolo, 07 August 2013, 14:17:16

Vorheriges Thema - Nächstes Thema

justme1968

#120
@pappn:ich kann gerade nicht einschätzen ob das fritzbox spezifisch ist. wie viele activities und devices hast du im hub? hast du umlaute in activity oder device namen? die fritzbox hast mit umlauten und json probleme. im netatmo modul musste ich da auch schon einen workaround einbauen.

bitte ersetz mal die zeile 413:my $json = JSON->new->utf8(0)->decode($cdata);durch:my $json = decode_json($cdata);

wenn das nicht hilft: kannst du das bitte noch mal mit verbose 5 und entferntem kommentarzeichen vor zeile 318 testen?

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich habe hier: http://forum.fhem.de/index.php/topic,14163.msg207746.html#msg207746 eine aktualisierte version angehängt. die neue version ist das größere file. die erste version ist zur sicherheit noch da.

das problem mit den verschwundenen namen sollte damit weg sein. ich habe mal eine fritzbox erkennung eingebaut. eventuell hilft das bei dem problem oben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

pappn

#122
Zitat von: justme1968 am 14 Oktober 2014, 19:44:17
bitte ersetz mal die zeile 413:my $json = JSON->new->utf8(0)->decode($cdata);durch:my $json = decode_json($cdata);

@andre: Im Hub sind 3 Aktionen und 5 Geräte. Davon 2 Geräte mit Sonderzeichen (+ und !) aber keine Umlaute.

Mit dieser Änderung läuft es auf der Fritzbox. Getestet mit der ersten Version.
Die zweiter Version scheint bisher ohne Anpassung zu laufen.

Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

Simon74

#123
Zitat von: justme1968 am 14 Oktober 2014, 12:24:55
@Simon74,@fred2412:

könnt ihr mal bitte den XMLin aufruf in zeile 1015 des enigma moduls von$return = $parser->XMLin( Encode::encode_utf8($data) );zu$return = $parser->XMLin( Encode::encode_utf8($data), KeyAttr => { } );ändern und schauen ob es dann geht?

wenn das nicht hilft im enigma modul die zeile 56 von use Encode; in use Encode qw(encode_utf8);ändern und schauen was dann passiert.

es wäre auch hilfreich wenn ihr fhem mal von hand auf der console starten könnt und dann mal schaut ob hier beim absturz noch mehr zu sehen ist.

gruss
  andre

EDIT!

wenn ich nur Zeile 1015 ändere kein Unterschied.
Wenn ich beide anpasse (56 + 1015) kommt dann:
Not a HASH reference at ./FHEM/70_ENIGMA2.pm line 1470.
fhem beendet sich.

Darf ich fragen ob das Problem bei ENIGMA Modul liegt, dann würde ich weitere Fragen dazu ich richtigen Thema stellen. Ansonsten funktioniert das Harmony-Modul gut und schnell.

pappn

btw: ich habe nur Zeile 1015 im  Enigma Modul geändert. Bisher scheint es mit dem neuen Harmony Modul ohne Änderungen gut zu laufen.

Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

kunze

bei mir kommt die neue version nicht mehr über den state Connected hinaus.
Da kommen dann auch ständig connects/disconnects.

Bei er ersten Version bleibt es stabil bei LoggedIn ohne disconnects.

Simon74

@pappn, @justme: Bei mir hilfts leider nicht nur Zeile 1015 zu ändern, sobald das Enigma Modul arbeitet ist fhem-Ende.

@justme: Version 2 des Harmony-Moduls macht bei mir jede Minute Disconnect, Connect, NewConfig, war in Version 1 nicht der Fall.

justme1968

ich sehe gerade das problem mit der 2. version weiss aber noch nicht was es ist.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

pappn

#128
Bei mir läuft die Combi wie beschrieben soweit stabil. Allerdings sehe ich auch Disconnects im Minutenabstand im log.
2014.10.14 22:32:09 3: hub: connect
2014.10.14 22:32:13 3: hub: new config
2014.10.14 22:32:26 3: $VAR1 = {
          'deviceId' => '15104786',
          'type' => 'IRCommand',
          'command' => 'RightStop'
        };

2014.10.14 22:32:30 3: $VAR1 = {
          'deviceId' => '15104786',
          'type' => 'IRCommand',
          'command' => 'RightDown'
        };

2014.10.14 22:33:30 2: hub: disconnect
2014.10.14 22:33:32 3: hub: connect
2014.10.14 22:33:36 3: hub: new config
2014.10.14 22:34:36 2: hub: disconnect
2014.10.14 22:34:38 3: hub: connect
2014.10.14 22:34:42 3: hub: new config
2014.10.14 22:35:42 3: $VAR1 = {
          'deviceId' => '15104786',
          'type' => 'IRCommand',
          'command' => 'LeftDown'
        };

2014.10.14 22:35:42 2: hub: disconnect
2014.10.14 22:35:44 3: hub: connect
2014.10.14 22:35:48 3: hub: new config
2014.10.14 22:35:51 3: $VAR1 = {
          'deviceId' => '15104786',
          'type' => 'IRCommand',
          'command' => 'LeftStop'
        };


Zudem habe ich einmal diese Zeilen im log:
2014.10.14 22:32:08 1: PERL WARNING: Use of uninitialized value in ref-to-glob cast at ./FHEM/37_harmony.pm line 568.
2014.10.14 22:32:08 1: PERL WARNING: Use of uninitialized value in ref-to-glob cast at ./FHEM/37_harmony.pm line 568.
2014.10.14 22:32:08 1: PERL WARNING: syswrite() on unopened filehandle at ./FHEM/37_harmony.pm line 568.


Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

pappn

#129
Jetzt ist es passiert: Absturz!

Aktuelle 37_harmony.pm ohne Änderung
70_enigma2.pm mit Änderung in Zeile 1015 wie von Andre vorgeschlagen

Disconnects im Minutenabstand im log:2014.10.14 22:38:43 2: hub: disconnect
2014.10.14 22:38:45 3: hub: connect
2014.10.14 22:38:49 3: hub: new config
2014.10.14 22:39:49 2: hub: disconnect
2014.10.14 22:39:51 3: hub: connect
2014.10.14 22:39:54 3: hub: new config
2014.10.14 22:40:54 2: hub: disconnect
2014.10.14 22:40:57 3: hub: connect
2014.10.14 22:41:00 3: hub: new config
2014.10.14 22:42:00 2: hub: disconnect
2014.10.14 22:42:02 3: hub: connect
2014.10.14 22:42:06 3: hub: new config


und dann auf der Console Not a HASH reference at ./FHEM/70_ENIGMA2.pm line 1468.

Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs

justme1968

ich habe die version hier: http://forum.fhem.de/index.php/topic,14163.msg207746.html#msg207746 noch mal aktualisiert.

- das disconnect problem sollte behoben sein.
- die fritzbox erkennung mit der sonderzeichen behandlung ist drin.

- das problem mit dem enigma modul verstehe ich noch nicht ganz. die beiden module sollten sich nicht in die quere kommen. eventuell geht fhem intern bei den HttpUtils etwas schief wenn eine NonBlocking verbindung offen ist und eine Blocking verbindung gemacht wird. bitte mal für das enigma modul verbose auch auf 5 setzen.
 
@kunze: den STATE darfst du noch nicht all zu genau nehmen. wie oben schon geschrieben behandelt das modul noch nicht die komplette login prozedur. ich weiss noch nicht genau was davon wirklich nötig ist und es geht scheinbar auch ohne. Connected ist in der aktuellen version korrekt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Simon74

Danke andre für die neue Version, ich habe diese aktiviert und das Enigma Modul auf Verbose 5 eingestellt, das LOG vor dem beenden von FHEM:
2014.10.15 09:33:39 5: ENIGMA2 t5.wz.receiver: called function ENIGMA2_GetStatus()
2014.10.15 09:33:39 5: ENIGMA2 t5.wz.receiver: called function ENIGMA2_SendCommand()
2014.10.15 09:33:39 4: ENIGMA2 t5.wz.receiver: REQ powerstate
2014.10.15 09:33:39 5: ENIGMA2 t5.wz.receiver: GET http://user:pass@top5-xt.domain.net:80/web/powerstate
2014.10.15 09:33:39 5: ENIGMA2 t5.wz.receiver: called function ENIGMA2_ReceiveCommand()
2014.10.15 09:33:39 4: ENIGMA2 t5.wz.receiver: RCV powerstate
2014.10.15 09:33:39 5: ENIGMA2 t5.wz.receiver: RES powerstate
<?xml version="1.0" encoding="UTF-8"?>
<e2powerstate>
        <e2instandby>
false   </e2instandby>
</e2powerstate>

No value specified for 'KeyAttr' option in call to XMLin() at ./FHEM/70_ENIGMA2.pm line 1015
2014.10.15 09:33:48 1: CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgelehnt
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 132.

Simon74

Mir fällt noch auf das sich nur bei Version1 ein "attr disable 1" Wirkung zeigt.

justme1968

hattest du die oben vorgeschlagene änderung für den XMLin aufruf eingebaut?

ich hatte das disable bis jetzt nur beim setzen des attributes berücksichtigt. nicht beim neustart. das war aber auch in der version 1 schon so.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Simon74

OK, das mit dem Attribut wusste ich nicht.
Und jetzt nocheinmal mit angepasster Zeile 1015, und Enigma Verbose 5:

2014.10.15 13:23:11 4: ENIGMA2 t5.wz.receiver: Cached favorite tv channels: ORF1_HD, ORF2_HD, ATV_HD, SAT.1_HD, RTL_HD, RT                                                   LII_HD, ProSieben_HD, VOX_HD, kabel_eins_HD, N24_HD, TELE_5_HD, PULS_4_HD_Austria, ProSieben_MAXX_HD
2014.10.15 13:23:11 5: ENIGMA2 t5.wz.receiver: called function ENIGMA2_ReceiveCommand()
2014.10.15 13:23:11 4: ENIGMA2 t5.wz.receiver: RCV about
2014.10.15 13:23:11 5: ENIGMA2 t5.wz.receiver: RES about
<?xml version="1.0" encoding="UTF-8"?>
<e2abouts>
        <e2about>
                <e2enigmaversion>2014-09-28</e2enigmaversion>
                <e2imageversion>2014-09-30 10:03:26</e2imageversion>
                <e2webifversion>OWIF 0.4.1</e2webifversion>
                <e2fpversion>None</e2fpversion>
                <e2model>et9200</e2model>
                <e2lanmac>00:16:b4:03:f4:37</e2lanmac>
                <e2landhcp>True</e2landhcp>
                <e2lanip>192.168.0.205</e2lanip>
                <e2lanmask>255.255.255.0</e2lanmask>
                <e2langw>192.168.0.1</e2langw>
                <e2tunerinfo>
                        <e2nim>
                                <name>Tuner A</name>
                                <type>AVL2108 (DVB-S2)</type>
                        </e2nim>
                        <e2nim>
                                <name>Tuner B</name>
                                <type>AVL2108 (DVB-S2)</type>
                        </e2nim>
                </e2tunerinfo>
                <e2servicename>OE2 V</e2servicename>
                <e2servicenamespace>12582912</e2servicenamespace>
                <e2serviceaspect>N/A</e2serviceaspect>
                <e2serviceprovider>ORF</e2serviceprovider>
                <e2videowidth>N/A</e2videowidth>
                <e2videoheight>N/A</e2videoheight>
                <e2servicevideosize>N/AxN/A</e2servicevideosize>
                <e2apid>429</e2apid>
                <e2vpid>N/A</e2vpid>
                <e2pcrpid>429</e2pcrpid>
                <e2pmtpid>1129</e2pmtpid>
                <e2txtpid>N/A</e2txtpid>
                <e2tsid>1115</e2tsid>
                <e2onid>1</e2onid>
                <e2sid>13129</e2sid>
        </e2about>
</e2abouts>

Not a HASH reference at ./FHEM/70_ENIGMA2.pm line 1468.
2014.10.15 13:23:11 1: CallBlockingFn: Can't connect to localhost:7072: IO::Socket::INET: connect: Verbindungsaufbau abgel                                                   ehnt
Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 132.