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

Chris_Worms

Zitat von: igami am 07 April 2016, 23:04:52
Hat leider etwas länger gedauert, da sich der NAND Speicher von meinem Cubietruck nach einer ungewollten Stromunterbrechung verabschiedet hat...

Hier mein DOIF für die harmony:

define HarmonyHub_DOIF DOIF
([HarmonyHub:currentActivity] !~ /PowerOff|Standby/)(
  set HM_2060BC_Sw_01 on
)
DOELSEIF
([HarmonyHub:activity:"(PowerOff)"])(
  set HM_2060BC_Sw_01 off,
  set HarmonyHub activity Standby
)
DOELSEIF
([HarmonyHub:activity] eq "Standby")

attr HarmonyHub_DOIF cmdState running|set off|standby
attr HarmonyHub_DOIF wait 0:10:0

Es wird einfach wieder eine Aktion gestartet, wenn man in die PowerOff Aktion wechselt. In der Aktion habe ich mir dann nur die Befehle für die Lampen auf die Tasten gelegt.

Grüße
igami

Hi,
So ganz verstehe ich nicht wie das mit der Activity Standby funktioniert. Je nach laufender Activity (Fernsehen, Musik hören, XBox spielen) sind verschiedene Geräte eingeschalten. Woher weiß jetzt die Activity Standby welche Geräte eingeschalten sind um an die entsprechenden Geräte den PowerOff (bzw bei vielen nur PowerToggle)-Befehl zu senden? Oder denke ich da gerade zu kompliziert?
Raspberry Pi 2/HM-CFG-LAN/HM-ES-PMSw1-PI/HM-LC-Sw1-PL/HM-Sec-MDIR-2/JeeLink V3/LaCrosse Temp/Humidity/Bluetooh USB Dongle/PebbleBee Bluetooth Tags

FHEM/MySQL/Apache/SmarVisu

justme1968

sobald fhem merkt das du auf power off gedrückt hast und alles ausgeschaltet wird schaltet fhem automatisch diese activity an.

d.h. es ist immer eine activity gestartet, manchmal halt nur die für die lampen. wenn du noch dafür sorgst das in allen activities die lampen auf den gleichen tasten liegen kannst du die lampen immer bedienen. egal in welcher activity du gerade bist. die harmony ist einfach nie mehr im PowerOff zustand.

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

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

Chris_Worms

Zitat von: justme1968 am 11 April 2016, 11:13:50
sobald fhem merkt das du auf power off gedrückt hast und alles ausgeschaltet wird schaltet fhem automatisch diese activity an.

d.h. es ist immer eine activity gestartet, manchmal halt nur die für die lampen. wenn du noch dafür sorgst das in allen activities die lampen auf den gleichen tasten liegen kannst du die lampen immer bedienen. egal in welcher activity du gerade bist. die harmony ist einfach nie mehr im PowerOff zustand.

gruss
  andre

Okay, das habe ich jetzt verstanden. Ich muss das selbst mal ausprobieren 😊
Raspberry Pi 2/HM-CFG-LAN/HM-ES-PMSw1-PI/HM-LC-Sw1-PL/HM-Sec-MDIR-2/JeeLink V3/LaCrosse Temp/Humidity/Bluetooh USB Dongle/PebbleBee Bluetooth Tags

FHEM/MySQL/Apache/SmarVisu

Thyraz

Jemand eine Idee woran es liegen kann, wenn die Harmony Software keine Tasten kennt für das gefundene Roku Device?
Die Erkennung des Netzwerkgeräts klappt einwandfrei und wird als "Roku FHEM" in der Harmony App vorgeschlagen.

Wenn ich nun Tasten zuordnen will gibt es aber keine für das Gerät.
Die Harmony App schlägt mir dann vor Befehle über die Fernbedienung anzulernen.
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

weiter oben gab es das problem mit der hub firmware 3.x. mit 4.x geht es.

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

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

Thyraz

Kann man irgendwo garantiert sehen welche Version man genau hat?
Ich hab das neue Aussehen der Software auf der Fernbedienung und auch ein "Software aktualisieren" über die MyHarmony Anwendung auf dem Mac läuft problemlos durch ohne eine neu verfügbare Aktualisierung anzuzeigen.
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

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

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

Thyraz

Tss... die ist tatsächlich 3.12.9.
Super, dass die Updatefunktion das nicht anzeigt. ;)

Vielen Dank für den Tip in die richtige Richtung. :)
Fhem und MariaDB auf NUC6i5SYH in Proxmox Container (Ubuntu)
Zwave, Conbee II, Hue, Harmony, Solo4k, LaMetric, Echo, Sonos, Roborock S5, Nuki, Prusa Mini, Doorbird, ...

klaymen

Hallo zusammen,

So ich habe mit dem Modul jetzt auch experimentiert (bin aber in Sachen fhem noch blutiger Anfänger). Wirklich genial, ich kann damit Kodi auf dem Raspberry steuern, und noch eine Lampe mit.

Mein Hauptproblem ist, dass ich mit den 14 möglichen Aktionen schon knapp bin. Ich habe mich daher dazu entschlossen, das über Sequenzen zu lösen. Dafür habe ich mir 2 Tasten reserviert, bei mir die Taste InstantReplay (die man sonst nicht viel braucht), und noch die Search Funktion als zweite Reserve. Die Idee ist, diese als Shift Funktion zu nutzen, damit bekommt man 14 weitere Keys dazu. Die zweite Taste benutze ich für die Zukunft, z.B. um noch längere Sequenzen zu implementieren.

Das Problem ist nun, wie man die Sequenzen speichern soll. Vielleicht gibt es dazu ein Standardverfahren in FHEM? Ich habe das mal über eine globale Perl-Variable "$main::RokuShift1" implementiert, und dort speichere ich den Timestamp, wann sie zuletzt gedrückt wurde. Bei den doppelt belegten Tasten checke ich dann, ob die seither verflossene Zeit <= 1 ist. Praktisch sieht das bei mir so aus:


define rokuShift1 notify roku.keypress:.InstantReplay {$main::RokuShift1 = time}
define rokuUp notify roku.keypress:.Up {if ($main::RokuShift1>0 && time-$main::RokuShift1<=1) {fhem("set WZ_lampe on");; fhem("set WZ_lampe level 15")} elsif (ReadingsVal("kodi","fullscreen","") eq "on") {fhem("set kodi exec bigstepback")} else  {fhem("set kodi up")} $main::RokuShift1=0}


Das scheint erstaunlich gut zu funktionieren - wahrscheinlich, weil die Sequenzen vom Hub via LAN geschickt werden, und so keine Keys dazwischen verloren gehen können. Auf jeden Fall kann man so prinzipiell beliebg viele Keys belegen (wenn auch der Code immer umständlicher wird).

Gibt es für sowas eine bessere Variante zur Implementation?

lg, Andreas

justme1968

es gibt ein modul sequence das genau für so etwas da ist und demnächst auch dieses hier: https://forum.fhem.de/index.php/topic,51796.msg435083.html#msg435083.

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

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

klaymen

stateMachine klingt cool, wollte schon immer mein Heim über eine Turing-Maschine steuern (ok, eigentlich ist jeder Compi ja eine Turing-Maschine ...). Werde ich auf jeden Fall weiterverfolgen.

Danke auf für den Tip mit dem StandBy Modus an igami, das klappt ebenfalls prima, damit kann ich auch bei ausgeschalteten Geräten das Licht steuern.

Fehlt noch das Velux Dachfenster, das braucht aber wohl einen andern Sender (ich habe den rfxtrx433e).

lg Andreas

justme1968

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

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

Chris_Worms

Bei mir hat die Harmony-Software auf dem Mac den Roku auch nicht gefunden! Den Roku 3 gab es nur in der Mobile App.
Raspberry Pi 2/HM-CFG-LAN/HM-ES-PMSw1-PI/HM-LC-Sw1-PL/HM-Sec-MDIR-2/JeeLink V3/LaCrosse Temp/Humidity/Bluetooh USB Dongle/PebbleBee Bluetooth Tags

FHEM/MySQL/Apache/SmarVisu

Amenophis86

Ich kann leider mit der Harmony Software meinen Pi nicht finden.

Ich habe alles installiert und FHEM zeigt mir bei den 3 Geräten folgendes an:

Roku:
Internals:
   HAS_IO::Socket::Multicast 1
   ID
   NAME       roku
   NR         560
   NTFY_ORDER 50-roku
   STATE      ???
   TYPE       fakeRoku
   fhemHostname raspberrypi
   fhemIP     192.168.2.5
   serial     e0cfcb5b2e803a1afdfc460f2c3ac21f
   Helper:
     Listener:
       CONNECTS   2
       FD         26
       NAME       roku:listener
       NR         563
       PNAME      roku
       PORT       57439
       STATE      accepting
       TEMPORARY  1
       TYPE       fakeRoku
       Connections:
       Phash:
     Responder:
       FD         25
       NAME       roku:responder
       NR         562
       PNAME      roku
       PORT       1900
       STATE      listening
       TEMPORARY  1
       TYPE       fakeRoku
       multicast  1
       Phash:
Attributes:
   DbLogExclude .*


roku:listener
Internals:
   CONNECTS   3
   FD         26
   NAME       roku:listener
   NR         563
   PNAME      roku
   PORT       57439
   STATE      accepting
   TEMPORARY  1
   TYPE       fakeRoku
   Connections:
   Phash:
     HAS_IO::Socket::Multicast 1
     ID
     NAME       roku
     NR         560
     NTFY_ORDER 50-roku
     STATE      ???
     TYPE       fakeRoku
     fhemHostname raspberrypi
     fhemIP     192.168.2.5
     serial     e0cfcb5b2e803a1afdfc460f2c3ac21f
     Helper:
       Listener:
       Responder:
         FD         25
         NAME       roku:responder
         NR         562
         PNAME      roku
         PORT       1900
         STATE      listening
         TEMPORARY  1
         TYPE       fakeRoku
         multicast  1
         Phash:
Attributes:
   room       hidden


   
roku:responder
Internals:
   FD         25
   NAME       roku:responder
   NR         562
   PNAME      roku
   PORT       1900
   STATE      listening
   TEMPORARY  1
   TYPE       fakeRoku
   multicast  1
   Phash:
     HAS_IO::Socket::Multicast 1
     ID
     NAME       roku
     NR         560
     NTFY_ORDER 50-roku
     STATE      ???
     TYPE       fakeRoku
     fhemHostname raspberrypi
     fhemIP     192.168.2.5
     serial     e0cfcb5b2e803a1afdfc460f2c3ac21f
     Helper:
       Listener:
         CONNECTS   3
         FD         26
         NAME       roku:listener
         NR         563
         PNAME      roku
         PORT       57439
         STATE      accepting
         TEMPORARY  1
         TYPE       fakeRoku
         Connections:
         Phash:
       Responder:
Attributes:
   room       hidden


Der Netzwerkaufbau ist wie folgt:

Hub ->WLan -> FritzBox -> Kabel -> (Port1) Switch (Port2) -> Pi (FHEM)

Bei dem Switch handelt es sich um ein TP TL-SG2008. Hier musste ich mal etwas umstellen, wegen des Multicast und der ständigen disconnects des HMLan. Ich habe die aktuellen Einstellungen des Switch bezüglich Multicast mal eingefügt, da ich mich leider zu wenig damit auskenne. Vielleicht erkennt jemand ja den Fehler. Zur Info am Swicht sind folgende Ports wichtig:
1: Kabel von der FritzBox
2: Kabel vom Pi mit FHEM
7: Telekom Entertain
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...

Amenophis86

Zitat von: Chris_Worms am 13 April 2016, 20:29:12
Bei mir hat die Harmony-Software auf dem Mac den Roku auch nicht gefunden! Den Roku 3 gab es nur in der Mobile App.

LOL mit der App konnte ich es dann auch finden. Danke für den Hinweis.

EDIT:
Also Leute, ich bin begeistert. Wie geil diese Idee war. Vielen Dank dafür.

Übrigens, falls noch jemand Dummy toggeln will, kann ich diesen Code hier empfehlen:
define CMD_dtoggle cmdalias dtoggle .* AS IF (Value("$EVTPART0") eq "on")(set $EVTPART0 off) ELSE (set $EVTPART0 on)
mittels dtoggle <device> wird der Dummy getoggelt. Habe ich aus diesem Post: https://forum.fhem.de/index.php/topic,38752.msg309317.html#msg309317
Aktuell dabei unser neues Haus mit KNX am einrichten. Im nächsten Schritt dann KNX mit FHEM verbinden. Allein zwei Dinge sind dabei selten: Zeit und Geld...