Openhab und Hyperion

  • Hallo,


    was bedeutet denn "Zukünftig"? ;)


    Für die Leute die noch immer auf der Suche nach einer zweckmäßigen Lösung sind um Hyperion zu steuern (naja eigentlich nur an und ausschalten ;) )hier meine Lösung.


    In OpenHab2 hat man die Möglichkeit ein exec-Binding aus OH1 zu nutzen. Damit führe ich einfach zwei Bash-Skripte (eins zum starten, eins zum beenden) aus. Bei Bedarf poste ich hier gerne meine Skripte und den entsprechenden Eintrag für die .items in OH2. Da ich nicht weiß wie es hier in dem Forum mit Codeschnipseln gehandhabt wird und gerade nicht über VPN auf mein Heimnetz komme, lass ich erstmal. ;)


    zum Hyperion-Binding:
    Das klappt soweit bei mir. Allerdings habe ich das Problem dass ich mich bei Benutzung nicht mehr mit der Hyperion App einlogen kann. Das selbe habe ich aber auch bei anderen Bindings (Pioneer, LG-TV, Samsung-TV). Ich gehe davon aus das OpenHab einfach permanent verbunden ist und somit den "Kanal" blockiert. Somit für mich keine Option ;)

  • Hallo Zusammen, ich wollte mich für alle Infos hier im Forum recht herzlich bedanken,
    ich habe heute meinen ersten Test Aufbau gemacht und siehe da alles läuft!
    selbst Farbauswahl über die Alexa ist kein Problem und läuft.
    und auch die Handy App mit openHab zusammen geht auch !
    echt nice dieses Projekt,
    Danke Danke!!!

  • Bin mal wieder nicht auf dem neustem Stand :rolleyes: Beschäftige mich viel zu wenig mit...
    Was mir jetzt allerdings aufgefallen ist, dass mein Log voll mit Fehlermeldungen von dem Binding ist, außerdem steht der Server ständig auf Offline funktioniert aber trotzdem. Komisch, ist aber so.
    Läuft der .ng Server mittlerweile? Mir fehlt momentan die Ausschaltfunktion.

  • Hallo Zusammen, ich wollte euch nur mal kurz meine Regel im openHab zur Steuerung meiner Lösung mitteilen:


    ein Item anlegen:
    Number TV_State "TV State"


    nun meine Regel:



    import org.openhab.core.library.types.PercentType
    rule "Test1"
    when
    Item SteckdoseMitLeistungsmessung_2_Current changed
    then
    if (SteckdoseMitLeistungsmessung_2_Current.state > 20) TV_State.postUpdate(1)
    if (SteckdoseMitLeistungsmessung_2_Current.state < 20) TV_State.postUpdate(0)
    end

    rule "TV Aus"
    when
    Item TV_State changed from 1 to 0
    then
    Ambilight_helligkeit.sendCommand(60);
    Ambilight_effekte.sendCommand("System Shutdown");
    Thread::sleep(12000);
    Ambilight_Farbe.sendCommand("0,0,0");
    end

    rule "TV Ein"
    when
    Item TV_State changed from NULL to 1 or
    Item TV_State changed from 0 to 1
    then
    Ambilight_helligkeit.sendCommand(100);
    Ambilight_enabled.sendCommand(ON);
    createTimer(now.plusSeconds(1)) [| sendCommand(Ambilight_enabled, OFF) ] Heating.sendCommand(ON);
    end



    für jede Verbesserung oder Anregung bin ich wie immer offen

  • Nachtrag:
    meine Item:


    Color Ambilight_Farbe "LED TV Farbe" ["Lighting"] {channel="hyperion:serverV1:c0c0c708:color"}
    Dimmer Ambilight_helligkeit "LED TV [%s]" ["Lighting"] {channel="hyperion:serverV1:c0c0c708:brightness"}
    String Ambilight_effekte "AmbiTV effekte [%s]" ["Lighting"] {channel="hyperion:serverV1:c0c0c708:effect"}
    Switch Ambilight_enabled "AmbiTV clear" ["Switchable"] {channel="hyperion:serverV1:c0c0c708:clear_all"}
    Number TV_State "TV State"


    das Item: SteckdoseMitLeistungsmessung_2_Current wurde über die UI erstellt (einfach +Create new item... im passenden Things)
    ich denke aber da es einen Number Item ist, dieses einfach auch mit anlegen und fertig !!!


    damit geht sogar ALEXA stelle "LED TV Farbe" auf Blau oder und ALEXA schalte "LED TV" auf 40%
    alles mit der Hue Emulation.


    ich hoffe, so konnte ich die Regel oben etwas besser auflösen !!
    euch Bastlern noch ein schöne WE.

  • Mit deiner Rule "TV Aus" schaltet sich das Ambilight auch komplett aus?


    Sieht auf jedenfall gut aus. Ich will mein ganzes System nochmal neu aufsetzen, da werde ich deine Items zum Teil übernehmen.

  • Hi thedk,
    was heißt komplett aus ??? nein der Service läuft natürlich noch aber die Farbe schaltet auf Schwarz, Schwarz ist das neue AUS!
    die SteckdoseMitLeistungsmessung aus der CCU2 ist der Schaltungsfaktor.


    hier noch ein paar Beispiele wie ich die indirekte Beleuchtung schalte wenn TV_State==0 :


    rule "Auto LED-TV Licht"
    when
    Item alexa_vitrine_links changed or
    Item alexa_vitrine_rechts changed or
    Item alexa_esszimmer_licht changed or
    Item Verschlu_9_Sensor changed
    then
    if (((alexa_vitrine_links.state == 30) &&
    (alexa_vitrine_rechts.state == 30)) &&
    (TV_State.state != 1)) {
    Ambilight_helligkeit.sendCommand(30);
    Ambilight_Farbe.sendCommand("47,100,100")
    }
    if ((alexa_esszimmer_licht.state == 30) &&
    (TV_State.state != 1)) {
    Ambilight_helligkeit.sendCommand(60);
    Ambilight_effekte.sendCommand("Warm mood blobs");
    }
    if ((Verschlu_9_Sensor.state == CLOSED) &&
    ((alexa_esszimmer_licht.state > 30) || (alexa_esszimmer_licht.state == 0)) &&
    ((alexa_vitrine_links.state > 30) || (alexa_vitrine_links.state == 0)) &&
    ((alexa_vitrine_rechts.state > 30) || (alexa_vitrine_rechts.state == 0)) &&
    (TV_State.state != 1)) {
    Ambilight_helligkeit.sendCommand(20);
    Ambilight_Farbe.sendCommand("0,0,0")
    }
    end



    ach ja läuft seit dem ohne Neustart oder ähnliches einfach stabile.
    mit der ALEXA kann ich die Farbe wählen oder den Dimfaktor
    mit ALEXA stelle "LED TV Farbe" auf Schwarz geht das ganze auch aus (dunkel keine LED zuckt mehr !!!)
    oder halt mit der Handy APP parallel zu der openHab Bindung hier fehlt mir allerdings die Möglichkeit den Dimfaktor anzupassen den ich ja in der Ruhl runtergedreht habe für die Indirekte Beleuchtung.


    viel Erfolg


    ach ja im Log sind keine Fehler alles sauber wie es sein soll !!!

  • Dass Ambilight ausschalten derzeit nicht möglich ist, weiß ich. Schwarz reicht.


    Wenn dein Log leer ist, muss bei mir ja irgendwie ein Fehler anliegen, mein Log ist rot... Wie gesagt, will/muss eh alles mal neu aufsetzen.

  • Hi, wenn du das eh neu aufsetzen willst, würde ich dir openHAB 2.2.0-SNAPSHOT empfehlen, sind viele neue Bindungen drin unter anderen auch die LIRC Binding


    hier mal ein paar links nach dem ich es sauber am laufen habe:


    erst hab ich mein Raspbian auf Stretch gebracht. (eigendlich nur um Motion 4.1 zu haben weil damit meine Camaras im MotionEye vernünftig laufen)
    dann OH auf 2.2 unstable.


    https://community.openhab.org/…able-oh2-wont-start/34291 //hat mir weiter geholfen nach dem ich OH2 nicht mehr zum laufen bekommen habe.


    [MEDIA=gist]prasanthj/c15a5298eb682bde34961c322c95378b[/MEDIA] //damit läuft LIRC auch mit Raspbian Stretch.


    https://docs.openhab.org/addons/bindings/lirc/readme.html //damit läuft die LIRC Bindung dann auch endlich.


    schön ist das ich alle meine PI´s eingebunden habe und ich jetzt 3x LIRC Server für wenig Geld habe 3x LED + 3x NPN-Transistor alles unter 1 Euro.


    um mit LIRC zurecht zu kommen hat mir auch die Seite vom Daniel Wenzel sehr weiter geholfen allerdings ist es bei Raspbian Stretch etwas anders.


    https://klenzel.de/3588

  • Klingt interessant. Vor allem da ich LIRC auch schon auf einem anderen Pi nutze. Bin Momentan schon dabei Rules und Items zu überarbeiten. Snapshot, so wie viele andere Dinge muss ich mir noch anschauen :D

  • Die Tage habe ich alles nochmal neu aufgesetzt. Mein Log hat nach wie vor einen Fehler der immer wieder kommt, ich denke ich weiß wieso.


    @Olli2Hyperion
    Du kannst per Alexa die Farbe wechseln deines Ambilights? Musste man da noch mehr machen, außer das entsprechende Color Item anlegen und zu Alexa hinzuzufügen? In der Alexa App wird mit keine Farbsteuerung angezeigt für das Ambilight. Komischerweise geht es aber auch bei meiner HUE Lampe nicht, da bin ich auch schon auf der Suche warum das so ist.

  • Hi Thedk,
    also ich habe da nix anderes machen müssen allerdings habe ich auch parallel zur HUE Emulation auch den openHAB Cloud Service am laufen.
    wichtig ist: "ALEXA stelle oder setze farbe Fernseher auf grün"
    bei diesem Item:
    Color Ambilight_Farbe "farbe Fernseher" ["Lighting"] {channel="hyperion:serverV1:Hyperion_Server1:color"}


    gruß Olli

  • Komisch, habe ich nicht anders. Man sieht ja auch in der Alexa APP ob man Farben ändern kann bzw. einstellen. Beim Ambilight gehts nicht, aber beim Dimmaktor habe ich die Funktion. Völligst sinnfrei.

  • Fehler war doch nicht so zu lösen, wie ich dachte. Eventuell kann jemand was mit anfangen und mir helfen:


    20:18:10.964 [ERROR] [ding.hyperion.handler.HyperionHandler] - java.lang.NumberFormatException: Expected an int but was 4288300805 at line 1 column 4717 path $.info.priorities[1].duration_ms
    com.google.gson.JsonSyntaxException: java.lang.NumberFormatException: Expected an int but was 4288300805 at line 1 column 4717 path $.info.priorities[1].duration_ms
    at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:245) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:235) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:129) [22:com.google.gson:2.7.0]
    at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:220) [22:com.google.gson:2.7.0]
    at com.google.gson.Gson.fromJson(Gson.java:887) [22:com.google.gson:2.7.0]
    at com.google.gson.Gson.fromJson(Gson.java:852) [22:com.google.gson:2.7.0]
    at com.google.gson.Gson.fromJson(Gson.java:801) [22:com.google.gson:2.7.0]
    at com.google.gson.Gson.fromJson(Gson.java:773) [22:com.google.gson:2.7.0]
    at org.openhab.binding.hyperion.handler.HyperionHandler.sendCommand(HyperionHandler.java:311) [213:org.openhab.binding.hyperion:2.1.0.201706122125]
    at org.openhab.binding.hyperion.handler.HyperionHandler$1.run(HyperionHandler.java:81) [213:org.openhab.binding.hyperion:2.1.0.201706122125]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [?:?]
    at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) [?:?]
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) [?:?]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:?]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:?]
    at java.lang.Thread.run(Thread.java:748) [?:?]
    Caused by: java.lang.NumberFormatException: Expected an int but was 4288300805 at line 1 column 4717 path $.info.priorities[1].duration_ms
    at com.google.gson.stream.JsonReader.nextInt(JsonReader.java:1164) ~[?:?]
    at com.google.gson.internal.bind.TypeAdapters$7.read(TypeAdapters.java:243) ~[?:?]
    ... 23 more


    Fehler kommt teilweise im Sekundentakt.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!