Logitech Harmony Hub

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

Vorheriges Thema - Nächstes Thema

luetty

Zitat von: justme1968 am 02 März 2019, 16:44:02
das modul sollte die remoteId im normalfall automatisch rausfinden. wenn das nicht geht und das script auf dem gleichen rechner funktioniert: bitte melden.

nur wenn udp broadcast auf grund der netzwerk konfiguration nicht geht muss man die remoteId selber eintragen.

hi, ging hier - ohne Eintrag der remoteId im def nicht.

morph

Hallo,

ich hab seit ein paar tagen auch das Problem, das mein Hub permanent auf Disconnect steht. Leider verstehe ich das nicht ganz, wie ich die remoteid herausfinde?

Mein fhem läuft auf einem Pi.

Wenn ich die id suchen will erhalte ich nur dies:

pi@FhemRaspi:~ $ sudo ./harmonyid.py
Traceback (most recent call last):
  File "./harmonyid.py", line 4, in <module>
    import requests
ImportError: No module named requests


Der Pi und der Hub sind im gleichem Netzwerk.

Vielleicht kann mir jemand helfen. Wäre sehr nett. Danke.

rubbertail

Vermutlich fehlt das Wort"perl" vor deinem Aufruf des Scripts?

Also
sudo perl <deinscript>
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

Benni

Zitat von: morph am 02 März 2019, 22:38:46
Vielleicht kann mir jemand helfen. Wäre sehr nett. Danke.

Zitat von: rubbertail am 03 März 2019, 09:31:02
Vermutlich fehlt das Wort"perl" vor deinem Aufruf des Scripts?
sudo perl <deinscript>

sudo ist nicht immer das Allheilmittel und perl ist hier auch falsch, es ist schließlich ein Python-Script.

Es fehlt schlicht und ergreifend das request-Modul für Python.
Installation normalerweise mit pip möglich.

Sollte aber auch direkt mit apt-get möglich sein:

sudo apt-get install python-requests

(ungetestet!)

gb#

rubbertail

Erm - peinlich.... sorry. %)
FHEM auf Raspi, CUL433, CUL868, RFXTRX433e, CULCuBE
FRITZ: Fritzbox7590AX, 6xFritzDECT301, 10xFritzDECT200, FritzRepeater 6000
MAX!: Fensterkontakte
netatmo: Wetterstation & Thermostat
Milights, IT, Withings, HUE

morph

Hm, ok. Danke. Sowas geht einfach über mein Verständnis, sorry....

Nach der Installation kommt nun leider:

pi@FhemRaspi:~ $ sudo ./harmonyid.py
Traceback (most recent call last):
  File "./harmonyid.py", line 15, in <module>
    hub_id = hub_data['data']['remoteId']
KeyError: 'data'

Benni

Zitat von: morph am 03 März 2019, 11:31:52
Hm, ok. Danke. Sowas geht einfach über mein Verständnis, sorry....

Nach der Installation kommt nun leider:

pi@FhemRaspi:~ $ sudo ./harmonyid.py
Traceback (most recent call last):
  File "./harmonyid.py", line 15, in <module>
    hub_id = hub_data['data']['remoteId']
KeyError: 'data'


Das bedeutet schlicht und ergreifend, dass das Script keine Daten zurückbekommen hat.

gb#

morph

hm, ok. Aber warum? wie komme ich dann an die Daten?

sTaN

Pack den Inhalt des Skriptes in eine harmony_remoteid.pl Datei. Ist nämlich Perl und nicht Python!

Ansonsten hier noch mal step by step:

Remote ID ermitteln:

1. Netcat auf einem freien Port im Terminal starten:
nc -l 1234 -k
   
2. Perl Skript auf dem Desktop ablegen und als harmony_remoteid.pl abspeichern:
#!/usr/bin/perl

use strict;
use warnings;
use IO::Socket::INET;

if( my $socket = new IO::Socket::INET ( Proto => 'udp', Broadcast => 1, ) ) {
  my $sin = sockaddr_in(5224, inet_aton('255.255.255.255'));

  while( 1 ) {
    $socket->send( "_logitech-reverse-bonjour._tcp.local.\n1234", 0, $sin );
    sleep 1;
  }
}

   
3. Zweite Terminal Sitzung starten und Perl Skript ausführen:

perl -w harmony-remoteid.pl
   
4. Anschließend im ersten Terminal die remoteid suchen:
5. Im FHEM define des harmony hub die remoteID setzen (Doppelpunkt durch = ersetzen):
remoteId=123456

Harmony Hub sollte nun wieder connected sein!

Gruß sTaN
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

morph

Danke. So habe ich es auch verstanden. Und schwups sind die Steckdosen endlich wieder aus :-)

Benni

Zitat von: morph am 03 März 2019, 14:36:13
Danke. So habe ich es auch verstanden.

??? Du hattest dich oben aber doch eher darauf bezogen, oder?

https://forum.fhem.de/index.php/topic,14163.msg875147.html#msg875147

morph

?
K.a. Was du meinst. Es funktioniert hier auf jedenfall wieder!

Frini

Ich hatte zwar die Beta von Logitech auf meinem Hub installiert, musste aber wie hier schon erwähnt wurde getrennt noch einmal in der App der Beta zustimmen. Also einmal vor dem installieren der Firmware und noch einmal zusätzlich in der App.
Seit dem klappt es bei mir wieder auch ohne RemodeID.

sTaN

Zitat von: Frini am 05 März 2019, 06:31:54
Seit dem klappt es bei mir wieder auch ohne RemodeID.

Ja dann gehst du aber auch nicht über Websocket
Raspberry Pi 3
2 x CUL CC1101-USB-Lite 868MHz
FS20 Komponenten, Philips HUE, Alexa-Fhem, MAX! Geräte, homebridge, harmony, Unifi, FirtzBox, MQTT, Aurora, Denon, Sonos, TabletUI, CALENDAR, EGPM2LAN, Pushover

Benni

Zitat von: sTaN am 05 März 2019, 08:10:33
Ja dann gehst du aber auch nicht über Websocket

Kannst du so pauschal nicht sagen:


  • Wenn die remoteId im DEF angegeben ist wird per websocket verbunden
  • ist sie nicht im DEF angegeben, wird versucht, sie automatisch zu ermitteln
    • lässt sie sich nicht ermitteln, wird als Fallback xmpp versucht
    • es sei denn das Attribut forceWebSocket ist gesetzt, dann wird definitiv kein xmpp verwendet

Das ist zumindest mein Kenntnisstand.

Aufschluß gibt hier nur ein list des devices.
Aber letztendlich ist es eigentlich auch Wurscht, solange es funktioniert.  ;)



Gruß Benni.