Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Script Syntax KNX-Sonos

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Script Syntax KNX-Sonos

    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      toschi last edited by

      Hallo liebe Leute,

      ich habe gestern zufällig ioBroker gefunden und finde die Möglichkeiten super. Ich habe dann sofort ein Rapspi ausgekramt und das fertige Image installiert. Ich habe den KNX und den Sonos Adapter eingerichtet. Nun will ich ein Script schreiben um mit einer KNX Gruppenadresse einen Sonos Player zu stoppen. Es funktioniert die Kommunikation zum KNX und mit dem SONOS-Adapter kann ich den Player mit````
      setState("sonos.0.root.192_168_10_162.state","stop")

      
      zusammengebaut. Da muss irgendwie ein Fehler drin sein. Kann mir da jemand mit der Syntax weiterhelfen?
      
      

      on({id: '"knx.0.Werkstatt.Neue_Mittelgruppe.Homeoffice_rechts_Status"/Homeoffice rechts Status/,1'}, function (obj) {
      setState("sonos.0.root.192_168_10_162.state","stop");
      });

      
      Ich habe heute schon einige Stunden gelesen aber nichts passendes gefunden. Es gibt ja eine KNX-Lizenz. Wird die für die Funktion benötigt? Wenn ja wo kann ich die eintragen?
      
      Vielen Dank
      
      toschi
      1 Reply Last reply Reply Quote 0
      • F
        Fitti last edited by

        @toschi:

        on({id: '"knx.0.Werkstatt.Neue_Mittelgruppe.Homeoffice_rechts_Status"/Homeoffice rechts Status/,1'}, function (obj) {

        setState("sonos.0.root.192_168_10_162.state","stop");

        }); `
        Gehe doch mal in iobroker auf den Reiter Objekte.

        Da gebe einfach mal oben links die einen der beiden Werte "sonos.0.root.192_168_10_162.state" oder "knx.0.Werkstatt.Neue_Mittelgruppe.Homeoffice_rechts_Status" ein. Siehe Bild.
        578_2017-12-29_01_07_19-iobroker.admin.png
        Da, wo der rote Pfeil ist, sollte ja dann auch das Objekt zu sehen sein. Bei mir natürlich nicht, da ich diese Geräte nicht habe.

        Du solltest also für beide Objekte auch die Objekte sehen können. Jeder Wert eines Objektes hat einen Typen. Klicke hinten rechts mal auf den Bleistift.

        Dann siehst du den typen dieses Wertes deines Objektes.

        Ist der vor allem bei sonos eine zeichenkette? Mir kommt das "Stop" verdächtig vor. Wenn es boolean z. B. ist, ist ein String(Zeichenkette) "stop" nämlich falsch. Wie hast Du es den getestet?

        ansonsten füge mal noch einen change Parameter hinzu, damit der trigger wirklich weiß, wann er lostriggern soll.

        on({id: '"knx.0.Werkstatt.Neue_Mittelgruppe.Homeoffice_rechts_Status"/*Homeoffice rechts Status*/,
        	change: 'any'
        	}, function (obj) {
        setState("sonos.0.root.192_168_10_162.state","stop");
        });
        
        

        Wann soll er denn triggern?

        mit "any" startet er bei jeder Änderung. Man könnte dann in der function mit if betimmte Dinge abfragen.

        Auch hier stelle ich mir die Frage, welche Status (ja - plural von Status ist Status!) denn möglich sind?

        Ist zb. boolean und nur 0/1 (false/true) möglich und er soll nur bei einer 1 triggern, dann könnte man einfach change: 'gt' schreiben. Somit muss der neue Wert größer als der vorhergehende sein. Was ja bei einem Wechsel von 0 auf 1 der fall wäre.

        1 Reply Last reply Reply Quote 0
        • T
          toschi last edited by

          Hallo

          ich habe beim Sonos-Objekt nachgeschaut der Typ ist State und die möglichen Werte sind: stop,play,pause,next,previous,mute,unmute.

          Mit

          on({id: "knx.0.Werkstatt.Neue_Mittelgruppe.Homeoffice_rechts_Status"/Homeoffice rechts Status/, val: 1}, function (obj) {

          setState("sonos.0.root.192_168_10_162.state","stop");

          });

          funktioniert das nun. Ist ja nur eine Testfunktion. Licht an Musik aus.

          Danke für die Hinweise. Ich werde weiter probieren.

          Als nächstes werde ich mir mal die Visualisierung anschauen.

          1 Reply Last reply Reply Quote 0
          • 1
            1Home last edited by

            Hallo an alle,

            Als einfache Alternative für den Anschluss eines KNX Smart Home an Sonos würde ich die 1Home Software vorschlagen, die es Ihnen ermöglicht, KNX- und Sonos-Systeme ohne Programmierung oder Hardware-Gerät anzuschließen. Im Gegensatz zur DIY-Lösung mit openHAB gibt es keine Einschränkung der Zonen.

            Hier ist eine kurze Anleitung um Sonos und KNX zu verbinden:
            https://www.1home.io/single-post/2019/03/01/Sonos-lautsprecher-und-KNX-Leuchter-verbinden

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            Support us

            ioBroker
            Community Adapters
            Donate
            FAQ Cloud / IOT
            HowTo: Node.js-Update
            HowTo: Backup/Restore
            Downloads
            BLOG

            897
            Online

            31.9k
            Users

            80.2k
            Topics

            1.3m
            Posts

            3
            4
            945
            Loading More Posts
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes
            Reply
            • Reply as topic
            Log in to reply
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
            The ioBroker Community 2014-2023
            logo