neues modul fakeRoku um einzelne tasten von einer harmony an fhem zu senden

Begonnen von justme1968, 31 März 2016, 14:17:58

Vorheriges Thema - Nächstes Thema

justme1968

ich habe das modul im aktuellen stand eben eingecheckt.

es ist ab morgen im update enthalten.

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

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

n0bbi

Bei mir schmiert FHEM nach dem define reproduzierbar ab. Letzter Eintrag im Log:

2016.04.03 08:50:58 3: roku: ssdp responder started
2016.04.03 08:50:58 3: roku: listener started
Undefined subroutine &main::fakeRoku_Connect called at ./FHEM/37_fakeRoku.pm line 101.


justme1968

sorry. das ist beim aufräumen durchgerutscht.

hab es repariert. geht ab morgen wieder.

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

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

Thyraz

Heute also besser nicht zum ersten Mal dieses Modul ausprobieren?
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

justme1968

du kannst ach einfach die zeile  entfernen oder auskommentieren. dann geht alles.

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

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

Firetic

@igami

Das mit der "Standby-Aktivität" klingt nach ner guten Idee :-) Könntest du das vielleicht noch ein wenig erläutern - mir ist das noch nicht so ganz klar wie ich das hinbekommen könnte...

Danke schonmal :-) 

vbs

Nettes Modul! Welche Harmony wird denn unterstützt? Bin da nicht so im Bilde. Alle, die WLAN haben?

justme1968

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

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

forum-merlin

Hallo Andre,

danke dass Ihr euch weiter mit dem Harmony Modul befasst und nun auch eine IP basierende Lösung gemacht habt um FHEM per HarmonyHub zu steuern.

Ich habe heute versucht das Roku Modul ans Laufen zu bekommen.
Leider "zersemmelt" es mein FHEM damit komplett!
Ich hatte gerade schon mega Panik, dass ich es nicht mehr zum Laufen bekomme.
Und die es so ist, ist mein Letztes Image der SD Karte auch schon wieder Monate her!

Was hatte ich gemacht?!
1) Erst wie beschrieben auf diese Weise die nötigen Pakete installiert (ich hatte vorher noch nie cpan benutzt)

cpan install IO::Socket::Multicast


2)
Dann konnte ich das define nicht ausführen. Also weiter im Thread gelesen und dann

sudo apt-get install libio-socket-multicast-perl


EDIT START
Irgendwo hier hatte ich beim define noch den Fehler mit der Zeile 101

Ich habe dann die Zeile wie vorgeschalgen entfernt
    fakeRoku_Connect($hash);

EDIT STOP

3)
Dann den define nochmals ausgeführt

define roku fakeRoku

>> Jetzt kam kein Fehler mehr, und ich wurde in FHEm auf die Einstellungen des roku umgeleitet.

4)
Jetzt wollte ich in der Harmony Config nach einem NetzwerkDevice suchen und es wurde nichts gefunden.
Dann wollte ich einfach in FHEM mal kurz noch zur "Ordnung" dem Roku einen Raum per

attr roku room Multimedia

...zuweisen und stellte dann fest, dass FHEM sich beendet hatte.

5)
Also ein

cmd> ps -ef | grep -i fhem

und ich fand keinen aktiven Prozess mehr

6)
FHEM auf der CMD neu gestartet

7)
Refresh im Browser > FHEM Site wird nicht angezeigt

8 ) im fhem Log schauen

more /opt/fhem/log/fhem-2016-04.log


9)

....
2016.04.03 14:42:20 3: roku: ssdp responder stoped
2016.04.03 14:42:20 3: roku: ssdp responder started
2016.04.03 14:42:20 3: roku: listener stoped
2016.04.03 14:42:20 3: roku: listener started
2016.04.03 14:42:20 0: Featurelevel: 5.7
2016.04.03 14:42:20 0: Server started with 501 defined entities (fhem.pl:11144/2016-03-29 perl:5.014002 os:linux user:fhem pid:3105)
....


10)
Danach allerdings folgten:

....
2016.04.03 14:42:22 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:59142: IO::Socket::INET: connect: Connection refused
2016.04.03 14:42:23 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:59142: IO::Socket::INET: connect: Connection refused
....


11)
ein erneutes

cmd> ps -ef | grep -i fhem

zeigte wieder, dass der Prozess beendet wurde

12)

nano /etc/fhem/fhem.cfg

in der global section habe ich dann ein

attr global verbose 5

...hinzugefügt.

13)
FHEM neu gestartet

14)
leider wieder keine aussagekräftige Fehlermeldung im Log

15)
PANIK!!! (schei... verda.... mein FHEM is im Ar....)

16)

nano /etc/fhem/fhem.cfg

in der global section habe ich dann für global das Level wieder auf 1

attr global verbose 1

und dann in der fhem.cfg den Roku auskommentiert.

17)
FHEM neu gestartet

18)
FHEM läuft wieder.

19)
Erstmal duschen! das war schweisstreibend! :-)

20)

nano /etc/fhem/fhem.cfg

Diesmal das roku wieder einkommentiert und zusätzlich


attr roku verbose 5


21)
ein

tail -f /opt/fhem/log/fhem-2016-04.log


Ergebnis:

  • FHEM schmiert weiterhin ab
  • trotz verbose 5 kein erweitertes Logging

Modulversion:

# $Id: 37_fakeRoku.pm 11174 2016-04-02 20:00:42Z justme1968 $




Hat jemand eine Idee was hier schief läuft, und wie ich das behoben bekomme?

Danke und Gruß

Holger
EDIT START
Erstmal ein SD Card Backup Image gezogen :-)
EDIT STOP
FHEM 5.8 auf RasPi3; CULv3-868; RFXtrx433; HM-Sec-SC-2; HM-CFG-LAN; HM-LC-Bl1-FM; HM-CC-RT-DN; HM-ES-PMSw1-Pl; HM-LC-Sw4-DR; Hunter Ventile; 8ch Relais; ENIGMA2; ONKYO_AVR; SONOS; Harmony; telegram; HM-PB-6-WM55; GPIO; HM-Sen-MDIR-O; HM-SEC-SD; HM-LC-Dim1L-Pl-3;

justme1968

wenn dein fhem sich beendet muss es beim starten von fhem von hand im fhem log oder auf der konsole irgend eine meldung geben.

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

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

SirUli

Hi André,

ich habe das Perl Modul via "apt-get install libio-socket-multicast-perl" installiert aber bei jedem define zerlegt es mein FHEM:

Erster Versuch:
2016.04.03 17:07:38 3: LR_HARMONYFHEMCTRL: ssdp responder started
2016.04.03 17:07:38 3: LR_HARMONYFHEMCTRL: listener started
Undefined subroutine &main::fakeRoku_Connect called at ./FHEM/37_fakeRoku.pm line 101.
Exception in thread Thread-1:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 810, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 763, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/opt/yowsup-master-2.4.48/yowsup/demos/cli/cli.py", line 153, in startInputThread
    cmd = self._queuedCmds.pop(0) if len(self._queuedCmds) else input(self.getPrompt()).strip()
IOError: [Errno 104] Connection reset by peer

2016.04.03 17:07:39 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:50720: IO::Socket::INET: connect: Connection refused


Zweiter Versuch:
2016.04.03 18:12:34 3: LR_HARMONYFHEMCTRL: ssdp responder started
2016.04.03 18:12:34 3: LR_HARMONYFHEMCTRL: listener started
Undefined subroutine &main::fakeRoku_Connect called at ./FHEM/37_fakeRoku.pm line 101.
2016.04.03 18:12:38 1: BlockingInformParent (PRESENCE_ProcessLocalScan): Can't connect to localhost:56938: IO::Socket::INET: connect: Connection refused


Ich habe weder IPTables noch sonstige firewalls laufen - kann mir daher den Fehler von mir aus zumindest nicht erklären. Vielleicht helfen dir die Meldungen?

Merci schon mal :)

Viele Grüße,
Uli



1of16

moin,

geniale Idee mit dem Modul, leider findet meine Harmony das Roku Device nicht.
Ich vermute aktuell, dass er nicht mit meinem FHEM sprechen kann, da dies in einer Dockerumgebung läuft und nur die Ports 7072 und 8083 nach "außen" offen sind.
Wenn ich es an Hand der Logausgabe eines Bekannten und von forum-merlin richtig sehe, hört das Modul auf einem random High-Port.
Wäre es möglich den oder die zu nutzenden Ports festzulegen, so dass ich das Modul auch nutzen kann?

Viele Grüße
FHEM in einem Dockercontainer
VCCU mit 3x HM-MOD-UART und 1x HmLGW
1x CCU2
2x nanoCUL 433MHz, 3x RPi3, Unifi-Controller mit drei APs für presence und Unifi Protec
div. weitere HM, ein paar HmIP Geräte und div. Shellys

justme1968

du kannst in zeile 227 die 0 in LocalPort=>0 durch den port ersetzen den du verwenden möchtest. roku selber verwendet 8060. ab morgen gibt es das httpPort attribut um den port zu konfigurieren.

zusätzlich zu diesem port musst du auch noch 1900 auf machen. der ist für die ssdp multicasts.

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

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