Ankündigung

Einklappen
Keine Ankündigung bisher.

iTunes Steuerung via ExecBinding

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #31
    Wäre Mega wenn jemand der die iTunes-Steuerung am laufen hat etwas besser erklären könnte - für Anfänger....

    Bei mir läuft OpenHAB auf einem Raspb. und ich würde gerne iTunes auf meinem Mac steuern.

    Bitte Danke!
    Zuletzt geändert von riotmode; 28.09.2017, 13:25.

    Kommentar


      #32
      Hi,

      angefangen hat jeder mal )

      Also das Shell-Skript auf Seite 1 zeigt es ganz gut. Um iTunes zu steuern musst du auf dem Mac AppleScript benutzen. Entweder startest du ein AppleScript und übergibst entsprechende Parameter oder du kannst es auch per Command Line mit dem Befehl osascript starten. Alles was danach kommt ist dann AppleScript.
      Leuchtet das so ein? Welche Fragen hast du genau, dann kann ich noch mehr erklären.
      Beste Grüße

      Kommentar


        #33
        Hallo,

        hab mich jetzt mal damit beschäftigt nach Openhab2 zu migrieren.

        Es läuft Alles soweit und ich kann mit

        ssh 192.168.115.1 /Users/openhabian/Documents/music.sh play
        ssh 192.168.115.1 /Users/openhabian/Documents/music.sh pause
        ect.
        mein Music aufm Mac vom Raspi aus steuern-
        jetzt scheitere ich aber am Exec-Binding für Openhab2

        In OH1 hat das wunderbar funktioniert:

        /* iTunes Control */
        Switch Radio_Switch "Music_Radio" <radio>
        {exec="ON:ssh 192.168.115.1 /Users/openhabian/Documents/music.sh play,
        OFF:ssh 192.168.115.1 /Users/openhabian/Documents/music.sh pause" }

        wie mache ich das Gleiche mit OH2 ?

        Liebe Grüße

        Kommentar


          #34
          Du kannst grundsätzlich natürlich das exec1 Binding installieren (Du musst dazu die Legacy Bindings zulassen, da es schon exec2 gibt). Allerdings wird das unter OH3 definitiv nicht mehr funktionieren, auch wenn es noch etwas hin ist, ist es sicher sinnvoll auf exec2 umzusteigen.
          exec2 betrachtet das anzusteuernde Script als Thing. Das Thing hat einen festgelegten Satz Channel, die verschiedene Funktionene haben. Es gibt den Input Channel (darüber bekommt das Script seinen Parameter), den Output Channel (darüber bekommst Du das Ergebnis des Scripts), den Run Channel (darüber kannst Du rausfinden, ob das Script gerade läuft bzw. das Script gezielt starten), den Exit Channel (der liefert 0 wenn alles gut lief oder ungleich 0 im Fehlerfall), sowie den lastExecution Channel, der den Zeitpunkt der letzten Ausführung liefert. Entsprechend muss man etwas umdenken, was den Aufruf betrifft. Du kannst das Thing so konfigurieren, dass das Script regelmäßig ausgeführt wird, oder aber automatisch, wenn der Input Channel ein Update erhalten hat. So konfiguriert reicht es also, den gewünschten Wert an den Input Channel zu senden.
          Du legst also ein String Item an und koppelst es an den Input Channel. Anschließend sendest Du den Befehl an dieses Item (z.B. über Switch mappings in der Sitemap)
          Schau mal in die Doku, das ist eigentlich ganz gut erklärt... https://www.openhab.org/addons/bindi.../#exec-binding

          Kommentar


            #35
            Hey smartknxer,

            ich denke als Beispiel müsste es so aussehen. Die anderen korrigieren mich bitte
            Denke daran das Kommando in die
            Code:
            misc/exec.whitelist
            einzutragen.

            Code:
            demo.things
            Thing exec:command:music [ command="ssh 192.168.115.1 /Users/openhabian/Documents/music.sh %2$s", interval=0, autorun=false ]
            
            demo.items
            Switch Radio_Switch "Music [%s]"
            String music_command {channel="exec:command:music:input"}
            
            demo.rules
            rule "Set up your parameters"
            when
              Item music_command changed
            then
              // here we can take different actions according to source Item
              if(YourTrigger.state == ON) {
                music_command.sendCommand("play")
              } else {
                music_command.sendCommand("pause")
              }
              // Caution : openHAB bus is asynchronous
              // we must let the command work before triggering execution (if autorun false)
            end
            Zuletzt geändert von pheno; 13.05.2020, 07:00.

            Kommentar

            Lädt...
            X