NEWS
Test Adapter hyperionNG v0.1.x GitHub
-
@flixganzer perfekt!
Jetzt hab ich nur noch ein Problem! Ich habe 2 mal hyperion am laufen 1.instanz ambilight und 2.instanz raumbeleuchtung. Beide auf je einem raspberry mit hyperion.ng.
Wenn ich in iobroker jetzt je eine instanz anlege kann ich nur die erste steuern bei der 2. Ändert sich nichts.
Habe auch schon andere json ports eingestellt und freigabe im router gegeben aber kein erfolg!Wie lade ich hier meine log hoch???
-
@Friedelf1982 ja der Fehler ist mir bekannt. Ich werde diesen nachher beheben. Das liegt daran, dass noch hart reingecodet ist, dass er im iobroker instance 0 ausließt. Hätte nicht erwartet, dass jemand so schnell darauf stößt.
Ich wusste zu diesem Zeitpunkt noch nicht wie es besser geht.
-
@flixganzer finde ich super, das sich da endlich jemand mit ahnung ran macht!
-
@flixganzer sagte in Test Adapter hyperionNG v0.1.x GitHub:
@Friedelf1982 ja der Fehler ist mir bekannt. Ich werde diesen nachher beheben. Das liegt daran, dass noch hart reingecodet ist, dass er im iobroker instance 0 ausließt. Hätte nicht erwartet, dass jemand so schnell darauf stößt.
Ich wusste zu diesem Zeitpunkt noch nicht wie es besser geht.
Ich lese in meinem Adapter alle Telegram instanzen automatisch aus, falls du Hilfe bei dem Thema brauchst helfe ich dir gerne
-
@Xenon Ich bin es gewohnt mit C++ zu programmieren. Es war für mich ein totaler Kulturschock mit Javascript was zu schreiben, zwecks Callbacks und async/await.
Ansonsten hast du recht, es gibt nichts besseres zum lernen, als sich den Quellcode anderer Leute anzusehen. Im Endeffekt wurde ja alles schoneinmal irgendwo gemacht.
Bei Gelegenheit komme ich gerne auf dein Angebot zurück.
-
@flixganzer sagte in Test Adapter hyperionNG v0.1.x GitHub:
@Xenon Ich bin es gewohnt mit C++ zu programmieren. Es war für mich ein totaler Kulturschock mit Javascript was zu schreiben, zwecks Callbacks und async/await.
Ansonsten hast du recht, es gibt nichts besseres zum lernen, als sich den Quellcode anderer Leute anzusehen. Im Endeffekt wurde ja alles schoneinmal irgendwo gemacht.
Bei Gelegenheit komme ich gerne auf dein Angebot zurück.
In meiner main.js findest du eine Funktion die ich dynamisch erstellt habe um jede iobroker Instanz per Variablen Namen auslesen zu können
https://github.com/Xenon-s/ioBroker.device-reminder/blob/master/main.js#L1039-L1089
-
@Friedelf1982 Ich habe den Bug behoben
-
Cool wäre ein SendTo Baustein für Blocky:
Effectauswahl, und dauer (begrenzt unbegrenzt)
mfg
eMd -
@flixganzer klappt perfekt! Vielen dank!!!
-
@eMd Das setzen einer Color oder Effect Dauer habe ich hinzugefügt. Ich glaube die Sache mit dem Blockly Baustein liegt außerhalb meiner Macht.
-
@flixganzer top das du den Adapter bereitstellst.
Ich wollte mir in meiner Fernseher an -Routine Ambilight auf Extern umstellen lassen. Wenn Fernseher aus, soll er zurück auf intern gehen (Alles über Blockly manuel umstellen). Hab es über die Prioritäten probiert, aber da hat sich nichts getan. Mein Grabber wirft leider Regenbogen aus, daher kann ich nicht mit den Prioritäten arbeiten. Versuche es so halt manuel zu lösen. Welcher Datenpunkt ist denn für die Quellenwahl?
Und hier noch was von mir aus dem Log, bekomme einige Warn Meldungen.
2021-01-09 20:44:45.424 - info: host.raspberrypi "system.adapter.hyperion_ng.0" enabled 2021-01-09 20:44:45.471 - info: host.raspberrypi instance system.adapter.hyperion_ng.0 started with pid 28252 2021-01-09 20:44:48.334 - info: hyperion_ng.0 (28252) starting. Version 0.1.8 in /opt/iobroker/node_modules/iobroker.hyperion_ng, node: v10.21.0, js-controller: 3.1.6 2021-01-09 20:44:48.383 - info: hyperion_ng.0 (28252) create Control Parameter 2021-01-09 20:44:48.602 - info: hyperion_ng.0 (28252) socket is connected 2021-01-09 20:44:48.632 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general is invalid: obj.type has an invalid value (instance independent parameter) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:48.634 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.644 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion is invalid: obj.type has an invalid value (hyperion Info) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:48.645 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.649 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion.build is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.650 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.654 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion.gitremote is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.655 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.659 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion.id is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.660 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.663 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion.readOnlyMode is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.664 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.667 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion.time is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.672 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.676 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.hyperion.version is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.677 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.680 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system is invalid: obj.type has an invalid value (System Info) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:48.682 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.685 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.architecture is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.686 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.689 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.cpuHardware is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.691 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.694 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.cpuModelName is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.695 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.698 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.cpuModelType is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.700 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.703 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.cpuRevision is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.705 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.707 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.domainName is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.708 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.709 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.hostName is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.711 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.712 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.kernelType is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.713 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.715 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.kernelVersion is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.716 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.718 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.prettyName is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.719 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.721 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.productType is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.722 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.724 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.productVersion is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.725 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.727 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.pyVersion is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.728 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.730 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.qtVersion is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.731 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.733 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.general.system.wordSize is invalid: obj.common.type has an invalid value (state) but has to be one of number, string, boolean, array, object, mixed, file, json 2021-01-09 20:44:48.734 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:48.876 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.0 is invalid: obj.type has an invalid value (Instance_ID) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:48.877 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:49.026 - info: hyperion_ng.0 (28252) read out components finished 2021-01-09 20:44:49.207 - info: hyperion_ng.0 (28252) read out Adjustments finished 2021-01-09 20:44:49.512 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.0.priorities is invalid: obj.type has an invalid value (priorities) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:49.513 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:49.514 - info: hyperion_ng.0 (28252) create priorities 2021-01-09 20:44:49.515 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.0.priorities.0-V4L is invalid: obj.type has an invalid value (0-V4L) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:49.516 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:49.523 - warn: hyperion_ng.0 (28252) Object hyperion_ng.0.0.priorities.1-GRABBER is invalid: obj.type has an invalid value (1-GRABBER) but has to be one of state, channel, device, enum, host, adapter, instance, meta, config, script, user, group, chart, folder 2021-01-09 20:44:49.524 - warn: hyperion_ng.0 (28252) This object will not be created in future versions. Please report this to the developer. 2021-01-09 20:44:49.531 - info: hyperion_ng.0 (28252) read out priorities finished 2021-01-09 20:44:49.642 - info: hyperion_ng.0 (28252) create effects 2021-01-09 20:44:49.837 - info: hyperion_ng.0 (28252) setup finished 2021-01-09 20:45:19.660 - info: hyperion_ng.0 (28252) Connection closed
-
@JohnnyBahama ignoriere die Warnungen, das hat nur damit zu tun, dass ein Teil der erstellten Objekte nicht ganz regelkonform sind.
Zu deiner anderen Frage. Aktuell ist noch nicht implementiert eine Quelle direkt auszuwählen. Hyperion wählt immer automatisch die aus mit der geringsten Zahl. Soll aber noch implementiert werden. Ich werde das Mal nach oben auf meine Agenda setzen.
Ansonsten habe ich nicht 100%ig verstanden was du machen willst.
-
@flixganzer Ja genau das war es. Ich würde die Prioritäten nutzen, kann es aber nicht, weil der HDMI grabber ein Rainbow auswirft, wenn kein Signal ankommt. Dadurch schaltet er halt auch nicht um. Mit deinem Adapter hatte ich gehofft, dass ich die Quellenauswahl über einen Datenpunkt auswählen kann.
Ist ja alles noch jung, ich warte dann mal ab. Kannst mich gerne verlinken, wenn es implementiert ist zum ausprobieren.Falls du einen HDMI Splitter/Grabber hast, der schwarz auswirft, kannst du den mal bitte verlinken.
-
@JohnnyBahama Ich habe einen Raspberry mit Kodi laufen und nutze den internen video Grabber. Dafür habe ich 3 unterschiedliche LED Instanzen am laufen. An der Stelle entsteht das Problem, dass wenn man eine Instanz aktiviert, die andere den Grabber verliert oder den "Rainbow Swirl" über den Grabber setzt. An der Stelle helfe ich mir, dass ich alles über Components All oder instance Running einmal deaktiviere und aktiviere. Dann taucht der Grabber wieder auf.
Wenn das Problem daran liegt, dass der Grabber vorhanden ist und du diesen aktiv setzen möchtest, wäre das einfach. Ich muss die Nummern der Priority ansteuern. ZB. hat der Grabber standardmäßig die 250. Wenn man das verallgemeinern möchte, wird das schwieriger. Ich habe an dieser Stelle noch keine Idee welche Variante ich nehmen soll.
-
@flixganzer
Falls es hilft für das Verständnis. Mein Setup besteht aus Retropie und dem externen HDMI Grabber.Ich habe jetzt nochmal rumprobiert mit den Prios. Wenn ich die Priowerte im Adapter ändere, dann gibt es keine Änderung. Wenn ich die Werte im WebUI unter Aufnahme Hardware ändere und abspeicher, springt die Eingangsquelle um.
Was mich wundert, wenn ich das in der WebUI Hardware ändere, aktualisieren sich die Werte im Datenpunkt nicht.Ergänzung: Ich habe die CEC Erkennung ausprobiert, die funktioniert nur halb bei mir. Hab mich an die Entwickler gewandt, evtl. lässt sich das Problem bei denen beheben, primör geht es mir um die CEC Umschaltung, so das er erkennt, ob ich Extern etwas schauen oder den Rasp benutze. Da es momentan nicht funktioniert, versuche ich jetzt über den Broker das möglich zu machen mit einem Umweg.
-
@JohnnyBahama das heißt du willst eigentlich zwischen den internen Grabber und den USB Grabber umstellen?
Aktuell sind alle Parameter unter priorities nur lesend.
Das die Änderungen , welche du in der web UI machst nicht im Adapter ankommen hat mit einer Designentscheidung zu tun. Prinzipiell ist es möglich, dafür muss ein Eventhandler genutzt werden, sowie sichergestellt werden, dass die Verbindung zwischen dem Hyperion und dem iobroker permanent besteht. Die Variante mit dem Eventhandler ist sehr komplex in der Umsetzung und stark Fehleranfällig. Desweiteren bin ich für Datensparsamkeit. Deswegen kann nur der iobroker eine Kommunikation anstoßen und die Verbindung wird nach einer gewissen Zeit wieder getrennt.
Vom Design her sollte es möglich sein den Eventhandler zu einem späteren Zeitpunkt zu integrieren.
-
@flixganzer Richtig. Ich würde gerne eine Umschaltung manuell anstoßen können.
Das mit der Datenaktualisierung war nur eine Randinfo, kein muss.
-
Bestünde evtl. die Möglichkeit einen Datenpunkt mit der installierten Versions-Angabe zu generieren? Da würde ich mitunter etwas schneller mitbekommen das es wieder eine neue Adapter-Version gab und kann die nachziehen. Also die Version vom Adapter meine ich natürlich
-
@JohnnyBahama na dann machen wir einfach zwei Datenpunkte unter general.control. Einen für den internen und einen für den externen Grabber.
-
@X-R4Y ich kann Mal schauen, ob ich das hinbekomme. Ansonsten bin ich gerade dabei das ins iobroker repository zu bekommen. Bei npm ist es schon.