Autor Thema: Neues Modul für Hyperion Server 98_Hyperion.pm  (Gelesen 82585 mal)

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #390 am: 02 Dezember 2016, 10:09:31 »
//Nachtrag:
Ich glaub ich hab grad beim stöbern das Problem gefunden warum hyperion manchmal beim starten von FHEM, FHEM aufhängt.
Und zwar in Zeile 466
    InternalTimer(gettimeofday() + $hash->{INTERVAL},"Hyperion_GetUpdate",$hash,1);
Ich glaub die letzte 1 ist das Problem. Zitat aus dem Wiki (http://www.fhemwiki.de/wiki/DevelopmentModuleAPI#InternalTimer)

Ich denke Du hast Recht!
In Zeile 122 wird der Timer auch gesetzt, dort aber richtig!
Keine Ahnung warum mir in Zeile 466 die 1 hinten dran geraten ist!? :-X

Teste das heute Abend nochmal zu Hause in Ruhe und wenn es keine anderen Probleme verursacht werde ich es einchecken.

Danke für die Fehlersuche!!!! ::)

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline Bootscreen

  • Developer
  • Full Member
  • ****
  • Beiträge: 184
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #391 am: 02 Dezember 2016, 15:16:11 »
Freut mich wenn ich helfen konnte =)
Gruß
Oliver

FHEM 5.7 Hardware:
Raspberry PI B+ | HomeMatic USB 2 | 433Mhz Sender (pilight) | nanoCUL (433Mhz)

Offline Esjay

  • Hero Member
  • *****
  • Beiträge: 1067
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #392 am: 02 Dezember 2016, 22:12:43 »
Hi DeeSPe,

wäre es möglich,einen set Befehl einzubauen, welcher der Hardware (z.B seperater Raspberry) auf der Hyperion läuft nen shutdown Befehl verpasst? Ich weiß,dass dafür der Austausch der Keys ect. nötig ist, und ich denke auch drüber nach, ob es Sinn macht das in diesem Modul aufzunehmen, aber da ich gerne alles unter einem Dach habe, dachte ich, dass ich mal nachfrage.

Habt ihr eure Hyperion Hardware immer am Netz? Ich würde es gern bei Bedarf über eine Funksteckdose zuschalten. Nur wird auf dauer die SD Karte darunter leiden.

Ansonsten wahnsinn, welchen Umfang das Modul mittlerweile hat.

Grüße

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #393 am: 02 Dezember 2016, 22:52:49 »
Freut mich wenn ich helfen konnte =)

Konntest Du! Danke! 8)
Habe ein paar Aktionen damit getestet und das Verhalten hat sich m.E. positiv verändert.
Hab's eben eingecheckt, ist also ab morgen im Update.

Hi DeeSPe,

wäre es möglich,einen set Befehl einzubauen, welcher der Hardware (z.B seperater Raspberry) auf der Hyperion läuft nen shutdown Befehl verpasst? Ich weiß,dass dafür der Austausch der Keys ect. nötig ist, und ich denke auch drüber nach, ob es Sinn macht das in diesem Modul aufzunehmen, aber da ich gerne alles unter einem Dach habe, dachte ich, dass ich mal nachfrage.

Habt ihr eure Hyperion Hardware immer am Netz? Ich würde es gern bei Bedarf über eine Funksteckdose zuschalten. Nur wird auf dauer die SD Karte darunter leiden.

Ansonsten wahnsinn, welchen Umfang das Modul mittlerweile hat.

Grüße

Also mein Hyperion RPi hängt direkt hinten am TV.
Auf diesem läuft auch mein FHEM, läuft also eh immer!
Ich persönlich schalte also meist nur zwischen den mode(s) hin und her für die normale Beleuchtung.
Von den ganzen Funktionen die das Modul mittlerweile hat nutze ich auch nur einen Bruchteil, finde es darum aber eben sehr interessant was andere damit umsetzen. :D

Um Deine Frage zu beantworten:
Klar könnte man das in das Modul einbauen da für den Konfigswitch ja eh schon passwordless SSH benötigt wird und somit vorhanden wäre.
Aber ehrlich gesagt sehe ich das nicht als Aufgabe des Hyperion Moduls an einen remote/local Host herunterzufahren. Ich denke dafür gibt es andere Lösung(en). Das Hyperion Modul sollte schon nur Dinge um Hyperion machen. :-[
Eher könnte ich mir vorstellen einen Befehl einzubauen um einen Shutdown des Hyperion Prozesses zu bewirken! Durch setzen einer Konfig Datei kann man ihn ja auch wieder starten! 8)

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline Bootscreen

  • Developer
  • Full Member
  • ****
  • Beiträge: 184
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #394 am: 02 Dezember 2016, 23:23:21 »
@esjay du könntest dir das auch mit cmdalias selbst bauen.
define <devname> cmdalias set <hyperion device> shutdown as system(<shell command>)
attr <hyperion device> eventMap shutdown:shutdown

Der Code ist ungelesen da ich schon im Bett liege ^^ sollte er nicht gehn bzw du noch hilfe brauchen muss ich morgen nochmal genauer schauen

Gesendet von meinem Nexus 10 mit Tapatalk

Gruß
Oliver

FHEM 5.7 Hardware:
Raspberry PI B+ | HomeMatic USB 2 | 433Mhz Sender (pilight) | nanoCUL (433Mhz)

Offline Esjay

  • Hero Member
  • *****
  • Beiträge: 1067
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #395 am: 05 Dezember 2016, 21:28:14 »
@esjay du könntest dir das auch mit cmdalias selbst bauen.
define <devname> cmdalias set <hyperion device> shutdown as system(<shell command>)
attr <hyperion device> eventMap shutdown:shutdown

Der Code ist ungelesen da ich schon im Bett liege ^^ sollte er nicht gehn bzw du noch hilfe brauchen muss ich morgen nochmal genauer schauen

Gesendet von meinem Nexus 10 mit Tapatalk

Danke für den Tipp.. Werde es bei Gelegenheit ausprobieren!

Offline Schlimbo

  • Sr. Member
  • ****
  • Beiträge: 696
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #396 am: 10 Dezember 2016, 16:40:10 »
Hallo Dan,
bin gerade wieder etwas am um konfigurieren von meinem Hyperion System, um eine LED Leiste und die Phillips HUE Lampen gleichzeitig ans Ambilight zu koppeln, habe ich jetzt zwei Instanzen von Hyperion auf dem selben Raspberry laufen.
Die erste Instanz gibt die Grabber Werte an die zweite Instanz weiter.
Geänderte Konfig der erste Instanz:
// JSON/PROTO FORWARD CONFIG
"forwarder" :
{
"json" : ["127.0.0.1:19446"],
"proto" : ["127.0.0.1:19447"]
}
https://hyperion-project.org/wiki/Controlling-Multiple-Devices

In FHEM habe ich ein zweites Hyperion Device angelegt. Die zweite Hyperion Instanz starte ich momentan noch manuel auf dem remote Raspberry, wenn ich die HUE Lampen am Ambilight haben möchte.
Eher könnte ich mir vorstellen einen Befehl einzubauen um einen Shutdown des Hyperion Prozesses zu bewirken! Durch setzen einer Konfig Datei kann man ihn ja auch wieder starten! 8)
Den Befehl zum beenden des Hyperion Prozesses würde ich in diesem Zusammenhang auch sehr begrüßen :)

Sind beide Instanzen gestartet kann ich sie über FHEM steuern. Was aber nicht geht ist die Konfigurationsdateien über das Modul zu änderen, da bei der Umschaltung immer beide Instanzen "gekillt" werden. Ist es möglich hier noch etwas ein zu bauen, damit das Modul auch mit mehreren Instanzen zurechtkommt?

Gruß
Schlimbo

P.S. Danke noch mal für das Attribut "hyperionCustomEffects" und die "effectArgs", das hat einiges wirklich sehr viel einfacher und komfortabler gemacht. 8)

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #397 am: 10 Dezember 2016, 16:55:04 »
Hallo Dan,
bin gerade wieder etwas am um konfigurieren von meinem Hyperion System, um eine LED Leiste und die Phillips HUE Lampen gleichzeitig ans Ambilight zu koppeln, habe ich jetzt zwei Instanzen von Hyperion auf dem selben Raspberry laufen.
Die erste Instanz gibt die Grabber Werte an die zweite Instanz weiter.
Geänderte Konfig der erste Instanz:
// JSON/PROTO FORWARD CONFIG
"forwarder" :
{
"json" : ["127.0.0.1:19446"],
"proto" : ["127.0.0.1:19447"]
}
https://hyperion-project.org/wiki/Controlling-Multiple-Devices

In FHEM habe ich ein zweites Hyperion Device angelegt. Die zweite Hyperion Instanz starte ich momentan noch manuel auf dem remote Raspberry, wenn ich die HUE Lampen am Ambilight haben möchte.Den Befehl zum beenden des Hyperion Prozesses würde ich in diesem Zusammenhang auch sehr begrüßen :)

Sind beide Instanzen gestartet kann ich sie über FHEM steuern. Was aber nicht geht ist die Konfigurationsdateien über das Modul zu änderen, da bei der Umschaltung immer beide Instanzen "gekillt" werden. Ist es möglich hier noch etwas ein zu bauen, damit das Modul auch mit mehreren Instanzen zurechtkommt?

Dieser Missstand ist mir auch schon mal aufgefallen!
Bisher gab es scheinbar nur niemanden der mehr als eine Instanz in Zusammenhang mit dem Modul benutzt! ;)

Sollte eigentlich kein großes Ding sein, muss nur sehen wie ich an die Prozess-ID komme.
Schaue ich mir in den nächsten Tagen mal an, bin gerade leider krank und habe keine Nerven dafür.  :(

P.S. Danke noch mal für das Attribut "hyperionCustomEffects" und die "effectArgs", das hat einiges wirklich sehr viel einfacher und komfortabler gemacht. 8)

Das freut mich dass es gut angenommen wird.
Ist etwas kryptisch das ganze, aber ich denke das macht man eh nur wenn man weiß was und wie man es tut...
Dazu hilft es doch auch ganz gut, mMn., einen bestehenden Effekt mit neuem Namen kopieren zu können...

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #398 am: 10 Dezember 2016, 17:10:44 »
Mir fällt gerade auf dass die Problematik eigentlich eine Andere ist...

Du müsstest die Instanz die von FHEM kontrolliert werden soll unter einem anderen User starten (vorzugsweise fhem).
Das Modul könnte per Attribut auf diesen User umgestellt werden und würde dann eben nur den Hyperion Prozess dieses Users killen!.
Ich denke das ist der nötige Ansatz, denn wenn alle Instanzen unter dem selben User laufen bekomme ich ja nicht heraus welcher von FHEM kontrolliert werden soll, solange der Prozess nicht von FHEM selbst gestartet wurde. Also z.B. nach Reboot des System und Autostart der Hyperion Instanzen.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline Schlimbo

  • Sr. Member
  • ****
  • Beiträge: 696
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #399 am: 11 Dezember 2016, 17:23:01 »
Hallo Dan,
danke für den Hinweis, ich habe es gerade mit unterschiedlichen Usern umgesetzt, bin gerade noch am testen, aber es scheint zu Funktionieren. 8)
Es muss bei beiden FHEM Devices das Attribut "hyperionNoSudo" gesetzt werden, da sonst trotzdem beide Instanzen gekillt werden.

"get <name> configFiles" funktioniert momentan nur wenn der Hyperion Prozess läuft, wenn nicht erscheint "Not connected", da das Auslesen der Konfig Dateien aber über SSH geschied sollte dies doch auch ohne laufenden Hyperion Prozess funktionieren, oder?

Das Kommando "set <name> configFile" wird in der set-Liste ausgeblendet wenn nur eine Konfigdatei vorhanden ist, wenn der Prozess nicht läuft und ich Hyperion über das Modul starten möchte wäre es aber gut, wenn er auch bei nur einer Konfigdatei vorhanden wäre.
Oder ist bei dem shutdown Befehl des Hyperion Prozesses auch ein Start Befehl geplant (der Hyperion mit der Letzten aktiven Konfigdatei startet), dann ware dies ja auch hinfällig.
Da ich die Konfigdatei momentan noch oft verändere und der Prozess bei jeder Änderung neu gestartet werden muss, fände ich ein "reload" Befehl auch sehr praktisch.

Gute Besserung und beste Grüße
Schlimbo


Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #400 am: 12 Dezember 2016, 13:49:31 »
Hallo Dan,
danke für den Hinweis, ich habe es gerade mit unterschiedlichen Usern umgesetzt, bin gerade noch am testen, aber es scheint zu Funktionieren. 8)
Es muss bei beiden FHEM Devices das Attribut "hyperionNoSudo" gesetzt werden, da sonst trotzdem beide Instanzen gekillt werden.

Schööön.... 8) 8) 8)

"get <name> configFiles" funktioniert momentan nur wenn der Hyperion Prozess läuft, wenn nicht erscheint "Not connected", da das Auslesen der Konfig Dateien aber über SSH geschied sollte dies doch auch ohne laufenden Hyperion Prozess funktionieren, oder?

Das war auch mal anders gedacht, sollte aber kein Problem sein das zu ändern.
Schaue ich mir mit an wenn ich das killall umbaue auf Prozess-ID.

Das Kommando "set <name> configFile" wird in der set-Liste ausgeblendet wenn nur eine Konfigdatei vorhanden ist, wenn der Prozess nicht läuft und ich Hyperion über das Modul starten möchte wäre es aber gut, wenn er auch bei nur einer Konfigdatei vorhanden wäre.

Das ist richtig!

Oder ist bei dem shutdown Befehl des Hyperion Prozesses auch ein Start Befehl geplant (der Hyperion mit der Letzten aktiven Konfigdatei startet), dann ware dies ja auch hinfällig.
Da ich die Konfigdatei momentan noch oft verändere und der Prozess bei jeder Änderung neu gestartet werden muss, fände ich ein "reload" Befehl auch sehr praktisch.

Die Idee gefällt mir gut.
Statt configFile wieder einzublenden wenn nur eine Datei da ist würde es mir denke ich besser gefallen Optionen einzubauen für shutdown und restart.

Ich mache mich in den nächsten Tagen mal ran.

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline BooStar

  • New Member
  • *
  • Beiträge: 31
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #401 am: 15 Dezember 2016, 22:43:44 »
Hallo DeeSPe,
ich bin neu bei fhem, betreibe aber schon länger ein hyperion-light.. da gefällt es mir natütlich sehr gut, das sich hyperion auch sehr charmant mit fhem kontrollieren lässt... viele Dank dafür!




Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #402 am: 16 Dezember 2016, 17:54:33 »
Hallo DeeSPe,
ich bin neu bei fhem, betreibe aber schon länger ein hyperion-light.. da gefällt es mir natütlich sehr gut, das sich hyperion auch sehr charmant mit fhem kontrollieren lässt... viele Dank dafür!

Gerne! 8)

Ich habe auch mit Hyperion angefangen und dann FHEM kennen gelernt.
Deswegen war es mir ein Bedürfnis ein gescheites Modul dafür zu haben.
Ich freue mich sehr über dieses Lob, denn für viele Andere ist es eine Selbstverständlichkeit dass sich jemand dran setzt und ein Modul schreibt! Zumal dieses Modul das erste war was ich je in Perl entwickelt habe!  ;)

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Offline denny84blau

  • New Member
  • *
  • Beiträge: 8
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #403 am: 07 Januar 2017, 13:20:57 »
Hallo,

erst mal Vielen Dank für das tolle Modul.
Meine Frage: Wie ist es möglich einen Befehl so auszuführen das danach wieder der zuletzt verwendete Zustand eintritt?

Beleuchtung an set hyperionCustomEffects (funktioniert) jetzt aber wieder der alte Zustand?

Vielen Dank schonmal.

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4204
  • Wer anderen eine Bratwurst brät...
Antw:Neues Modul für Hyperion Server 98_Hyperion.pm
« Antwort #404 am: 07 Januar 2017, 14:20:19 »
Meine Frage: Wie ist es möglich einen Befehl so auszuführen das danach wieder der zuletzt verwendete Zustand eintritt?

Beleuchtung an set hyperionCustomEffects (funktioniert) jetzt aber wieder der alte Zustand?

Verstehe die Frage nicht wirklich!

Man kann effect/rgb über die optionale Angabe der Dauer (duration) in Sekunden einschalten. Danach kehrt Hyperion wieder zum Ausgangsstatus zurück.

Zitat
effect <effect> [Dauer] [Priorität] [effectargs]
Stellt gewählten Effekt ein (ersetzte Leerzeichen mit Unterstrichen) mit optionaler Dauer in Sekunden und optionaler Priorität
effectargs können ebenfalls übermittelt werden - muss ein JSON String ohne Leerzeichen sein
Zitat
rgb <RRGGBB> [Dauer] [Priorität]
Setzt Farbe im RGB Hex Format mit optionaler Dauer in Sekunden und optionaler Priorität

Gruß
Dan
FHEM 5.9, Brix, VIVO mini, RPi3, Debian Jessie, ZME_UZB1
HM-CFG-LAN, HM-MOD-UART-WIFI, HUE, HarmonyHub, JeeLink, CO20
Hyperion auf RPi Zero W, Sonos, viel Z-Wave und HM
alles per HomeKit steuerbar
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced