AVScene - harmony like modul

Begonnen von igami, 19 März 2019, 19:19:23

Vorheriges Thema - Nächstes Thema

igami

Da nun das IR Gateway immer populärer wird, und ich dies nun auch einsetzten möchte, frage ich mich ob es schon bestrebungen gibt die logik von der Harmony in einem FHEM Modul abzubilden. Sprich Aktionen anlegen und Geräteverzögerungen handhaben.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

#2
Ich starte nun mal mit der Programmierung von 37_AVScene.pm 8)
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

justme1968

#3
das finde ich spannend...

was ich mir vorstellen/wünschen würde:
- wo möglich und sinnvoll: kompatibilität mit dem harmony modul und LightScene
- die harmony (eventuell über das fake roku) als input zur steuerung vorsehen
- vielleicht eine art 'integration' der activity konzepte:
  - d.h. eine art gerräte/hub übergreifende activity
  - einbinden von geräten die über das gateway gesteuert werden in harmony
    activities und umgekehrt
  - multi device fähigkeit. d.h. eine art multiroom steuerung. also die möglichkeit
    geräte die über unterschiedliche gateways (an unterschiedlichen standorten) gesteuert
    werden in einer activity zusammen zu fassen.

die integrations punkte gehen vermutlich zum größten teil automatisch wenn du das ganze auf fhem devices als zu steuernde geräte und fhem events als input aufsetzt und nicht auf das ir gateway direkt.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

igami

Meine Überlegungen bisher:
In der DEF werden alle Geräte angegeben die mit der AVScene genutzt werden (z.B. Verstärker, Fernseher und BluRay-Player).
Dabei ist es vollkommen egal welches Modul die Geräte steuert.

Wie bei den Harmony Aktionen muss dann noch festgelegt werden welches Device die Wiedergabe übernimmt (attr deviceMedia), über welches Device die Lautstärke geregelt wird (attr deviceAudio) und welche Eingänge jeweils gewählt werden müssen (attr input).
Jedes Device, welche in der DEF aufgeführt wird, bekommt die userattr delay_powerOn, delay_interKey, delay_input und delay_interDevice um die jeweiligen Verzögerungen beim Ein- und Umschalten zu berücksichtigen. Die Namen stehen so ähnlich auch in der Logitech Datenbank.
Für jede AVScene wird eine On- und Off-Sequence (attr sequeceOn / attr sequenceOff) erstellt, welche die Geräte einschaltet und die richtigen Eingänge auswählt.
Als set sehe ich die Standard-Befehle, aus den DevelopmentGuidelinesAV, "on, off, play, pause, stop, volumeUp, volumeDown, mute, channelUp und channelDown" vor. Weitere Befehle müssen vom Benutzer in einem Attribut (attr commands) definiert werden.

Damit sollten die meisten deiner Wünsche einbezogen sein (ausgenommen fake roku).
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

binford6000

Ich lese hier mal sehr interessiert mit. Falls es was zum Testen gibt bin ich gerne dabei! 8)

Zitatüber welches Device die Lautstärke geregelt wird (attr deviceAudio)

Wäre nicht attr deviceVolume treffender?
VG Sebastian

Thyraz

Sehr interessantes Projekt.  :)

Jetzt müsste es nur noch ein anständiges Gerät ähnlich der Harmony 950 geben, bei dem man das Display + Touch aber freier programmieren kann.

@igami wie steuerst du denn dein Modul am Ende an?
Klar, ein Webinterface auf dem Handy geht auf alle Fälle, aber vor dem Fernseher geht nichts über haitisch erfühlbare Tasten.
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

@Igami: ja. schaut gut aus. ich freue mich drauf :)

@Tyraz: dassollte sich mit jeder fernbedienung und einem it empfänger steuern lassen. nachteil ist nur das es eben kein display für die activity wahl gibt. und das man die fb in richtung des it enpfänger halten muss.

deshalb meine idee das mit einer harmony zu verknüpfen. ist zwar nicht die günstigste möglichkeit und manches wäre dann auch doppelt gemoppelt. aber die remotes für die hand sind haptisch gut. es gibt unterschiedliche modelle und je nach modell geht die verbindung nach fhem zum teil über funk. d.h. man muss nicht zielen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

MadMax-FHEM

#8
Zitat von: Thyraz am 20 April 2019, 08:42:07
Sehr interessantes Projekt.  :)

Jetzt müsste es nur noch ein anständiges Gerät ähnlich der Harmony 950 geben, bei dem man das Display + Touch aber freier programmieren kann.

@igami wie steuerst du denn dein Modul am Ende an?
Klar, ein Webinterface auf dem Handy geht auf alle Fälle, aber vor dem Fernseher geht nichts über haitisch erfühlbare Tasten.

Das sehe ich auch so.
Hab auch schon einige Male überlegt meine harmony zu ersetzen...

Aber bei mir fängt es auch beim Ersatz der FB an...
Es fehlen da halt bei den meisten/allen die "Activity-Tasten"...
Und dann IR-FB->IR-Empfänger->IR-Blaster... Naja...

Evtl. eine BT-FB, da gibt es ganz hübsche aber halt auch nicht wirklich konfigurierbar...

Die harmony-FBs funktionieren ja nur in "ihrer Welt" bzw. müssen ja dann zumindest "pseudo-Konfiguriert" werden...

Hänge mich mal dran... :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

igami

Zitat von: binford6000 am 20 April 2019, 08:34:33
Ich lese hier mal sehr interessiert mit. Falls es was zum Testen gibt bin ich gerne dabei! 8)
Noch bin ich nicht so weit. Der aktuelle Stand ist jedoch immer auf GitHub zu finden: FHEM-AVScene

Zitat von: binford6000 am 20 April 2019, 08:34:33
Wäre nicht attr deviceVolume treffender?
Die ganzen Namen sind nicht in Stein gemeißelt und ich freue mich über konstruktive Kritik.
Da die zuweisung wirklich nur für volume up/down  und mute relevant ist passt deviceVolume auch ganz gut.

Zitat von: Thyraz am 20 April 2019, 08:42:07
@igami wie steuerst du denn dein Modul am Ende an?
Das ist jedem selbst überlassen. ich wollte es mit meier Harmony versuchen wie von Joachim beschrieben:
Zitat von: MadMax-FHEM am 20 April 2019, 08:50:20
Und dann IR-FB->IR-Empfänger->IR-Blaster... Naja...

Am Ende muss doch aber die Community mal eine ordentliche BT opensource Fernbedienung konstruieren 8)
Bei den "gängigen" Modellen fehlen halt die Aktionstasten und ein vollständiges Keyboard und eine Maus brauche ich (noch) gar nicht.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

MadMax-FHEM

Zitat von: igami am 20 April 2019, 09:48:49
Am Ende muss doch aber die Community mal eine ordentliche BT opensource Fernbedienung konstruieren 8)
Bei den "gängigen" Modellen fehlen halt die Aktionstasten und ein vollständiges Keyboard und eine Maus brauche ich (noch) gar nicht.

YES!!! :)

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

igami

Zitat von: igami am 19 April 2019, 23:02:07
Jedes Device, welche in der DEF aufgeführt wird, bekommt die userattr delay_powerOn, delay_interKey, delay_input und delay_interDevice um die jeweiligen Verzögerungen beim Ein- und Umschalten zu berücksichtigen. Die Namen stehen so ähnlich auch in der Logitech Datenbank.
Zur Erklärung (Quelle harmony app)
Zitat
Einschaltverzögerung (delay_powerOn)
Die Zeit, die Ihr Gerät zum Einschalten und Aufwärmen benötigt, sowie um zum Empfang zusätzlicher Befehle bereit zu sein.

Tastenverzögerung (delay_interKey)
Die Zeit bis Ihr Gerät einen weiteren Befehl empfangen kann.

Eingangsverzögerung ) (delay_input)
Die Zeit, die Ihr Gerät nach dem Wechseln von Eingängen benötigt, um für den Empfang eines weiteren Befehls bereit zu sein.

Geräteverzögerung (delay_interDevice)
Der Zeitraum zwischen dem Senden von Befehlen an mehrere Geräte als Teil einer Aktion.

Wie ich die Geräteverzögerung zu berücksichtigen habe erschließt sich mir noch nicht ganz.
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

igami

alpha Version geht schon mal

update add https://raw.githubusercontent.com/Igami/FHEM-AVScene/master/controls_AVScene.txt
update all https://raw.githubusercontent.com/Igami/FHEM-AVScene/master/controls_AVScene.txt


ToDo
- custom commands (deviceMedia / deviceVolume / other) (menu, guide, subtitle, ...)
- Umschalten zwischen zwei AVScene, ohne dass die Geräte aus- und wieder eingeschaltet werden
- Readings
- commandref
- Diverses ;D
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

binford6000

Moin,
ich hab die Alpha mal in Betrieb genommen und versucht, meine Multimedia-Sub damit abzubilden.
Bei einem FHEM-Neustart kommen ein paar Perl-Warnungen:
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $cmd in split at fhem.pl line 5612.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value in split at ./FHEM/37_AVScene.pm line 417.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"wz_kodi_socket:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"wz_yamaha_socket:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"AV_Receiver:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"wz_it5_socket:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"KODI:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"Harmony:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"wz_socket:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.
2019.04.25 08:59:44 1: PERL WARNING: Use of uninitialized value $commandsPower{"wz_philips_socket:off"} in numeric comparison (<=>) at ./FHEM/37_AVScene.pm line 430.


Ansonsten warte ich dann mal auf die Beta und etwas Dokumentation damit ich nachvollziehen kann, wie du dir die Funktionsweise vorgestellt hast.
Befehls-Delay und Input select (AV Receiver) sind vermutlich ebenfalls noch auf der ToDo Liste oder?

Sehr gut gelungen finde ich übrigens die drag and drop Funktionalität in sequence on/off!  8)

VG Sebastian

igami

habe noch etwas weiter gearbeitet, einfach ein update machen :)

Zitat von: binford6000 am 25 April 2019, 09:16:02
Bei einem FHEM-Neustart kommen ein paar Perl-Warnungen:
Warnungen sollten nun alle weg sein.

Zitat von: binford6000 am 25 April 2019, 09:16:02
Befehls-Delay und Input select (AV Receiver) sind vermutlich ebenfalls noch auf der ToDo Liste oder?
delays und input selcetion lassen sich per set einstellen

Zitat von: binford6000 am 25 April 2019, 09:16:02
Sehr gut gelungen finde ich übrigens die drag and drop Funktionalität in sequence on/off!  8)
Die Sequence wird nach den festgelegten delays automatisch sortiert (sofern das Attribut autocreate nicht auf 0 steht)
Das drag and drop ist dazu gedacht um weitere Befehle (commands on/off) an die richtige Stelle zu schieben.

Zitat von: binford6000 am 25 April 2019, 09:16:02
Ansonsten warte ich dann mal auf die Beta und etwas Dokumentation damit ich nachvollziehen kann, wie du dir die Funktionsweise vorgestellt hast.
Doku ist halt noch sehr rudimentär auf github in der README. Allerdings nur eine Übersicht der set/get/attr.

ToDo
- custom commands (deviceMedia / deviceVolume / other) (menu, guide, subtitle, ...)
- Umschalten zwischen zwei AVScene, ohne dass die Geräte aus- und wieder eingeschaltet werden
- Readings
- commandref
- Diverses ;D
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED