Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Vorlage] Denon HEOS Script

    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

    [Vorlage] Denon HEOS Script

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

      Hat sich hier schonmal jemand mit der SOAP API von HEOS beschäftigt? Eventuell könnte man den Funktionsumfang des Adapters so noch um Seek, Zonen, Updates etc. erweitern. Ich hab dazu gerade auf GitHub ein interessantes Projekt gefunden: https://github.com/mkarasoff/shoe

      RootXML: http://<Player IP>:60006/upnp/desc/aios_device/aios_device.xml

      W 1 Reply Last reply Reply Quote 0
      • W
        withstu @withstu last edited by

        Ich habe am Wochenende dem Adapter eine UPNP Schnittstelle spendiert. Dadurch ist es nun möglich die Bitrate, Sample Rate, Audio Format anzuzeigen und Seek zu unterstützen. Folgende Aktionen unterstützt die API meines Receivers. Ihr könnt ja kommentieren, welche Funktionen für euch noch interessant für den Adapter wären:

        AVTransport

        • GetCurrentState
        • GetCurrentTransportActions
        • GetDeviceCapabilities
        • GetMediaInfo
        • GetMediaInfo_Ext
        • GetPositionInfo
        • GetTransportInfo
        • GetTransportSettings
        • Next
        • Pause
        • Play
        • Previous
        • Seek
        • SetAVTransportURI
        • SetNextAVTransportURI
        • SetPlayMode
        • Stop
        • X_SetShuffle

        ConnectionManager

        • ConnectionComplete
        • GetCurrentConnectionIDs
        • GetCurrentConnectionInfo
        • GetCurrentState
        • GetProtocolInfo
        • PrepareForConnection

        RenderingControl

        • GetCurrentState
        • GetMute
        • GetVolume
        • GetVolumeDB
        • ListPresets
        • SelectPreset
        • SetMute
        • SetVolume
        • SetVolumeDB
        • X_GetBalance
        • X_GetBass
        • X_GetPreset
        • X_GetSubwoofer
        • X_GetTreble
        • X_SetBalance
        • X_SetBass
        • X_SetMute
        • X_SetSubwoofer
        • X_SetTreble
        • X_SetVolume

        ErrorHandler

        • ClearError
        • DummyAction_ErrorHandler

        ZoneControl

        • AddMemberToZone
        • CreateZone
        • DestroyZone
        • DummyAction_ZoneControl
        • GetCurrentState
        • GetMemberStatus
        • GetZoneConnectedList
        • GetZoneFriendlyName
        • GetZoneMemberList
        • GetZoneMinimise
        • GetZoneMute
        • GetZoneStatus
        • GetZoneUUID
        • GetZoneVolume
        • RemoveMemberFromZone
        • SetZoneFriendlyName
        • SetZoneMinimise
        • SetZoneMute
        • SetZoneVolume
        • TestZoneConnectivity

        GroupControl

        • AddMembersToGroup
        • CreateGroup
        • DestroyGroup
        • DummyAction_GroupControl
        • GetConfigDeviceUUID
        • GetCurrentState
        • GetDeviceFriendlyName
        • GetGroupBalance
        • GetGroupBass
        • GetGroupFriendlyName
        • GetGroupMemberChannel
        • GetGroupMemberList
        • GetGroupMute
        • GetGroupStatus
        • GetGroupTreble
        • GetGroupUUID
        • GetGroupUpdating
        • GetGroupVolume
        • GetMediaServerUUID
        • GetSignalStrength
        • RemoveMembersFromGroup
        • SetDeviceFriendlyName
        • SetGroupBalance
        • SetGroupBass
        • SetGroupFriendlyName
        • SetGroupMemberChannel
        • SetGroupMute
        • SetGroupTreble
        • SetGroupVolume

        ACT

        • AddNetworkShare
        • ApplyChanges
        • CancelChanges
        • CancelFirmwareUpgrade
        • CheckForFirmwareUpgrade
        • DeleteNetworkShare
        • GetAccessPointList
        • GetActiveInterface
        • GetAudioConfig
        • GetAvrZoneStatus
        • GetBluetoothStatus
        • GetConfigurationStatus
        • GetConfigurationToken
        • GetCurrentLanguage
        • GetCurrentState
        • GetDaylightSaving
        • GetDevicePowerState
        • GetFriendlyName
        • GetHEOSNetID
        • GetLowLatencyConfig
        • GetNetworkConfiguration
        • GetNetworkConfigurationList
        • GetNetworkShares
        • GetP2PMode
        • GetQuickSelectNames
        • GetSessionId
        • GetSupportedLanguageList
        • GetSurroundSpeakerConfig
        • GetTimeZone
        • GetTranscode
        • GetUpdateAction
        • GetUpdateLevel
        • GetUpgradeProgress
        • GetUpgradeStatus
        • GetVolumeLimit
        • GetWirelessProfile
        • GetWirelessState
        • GetWirelessStatus
        • ReIndexNetworkShare
        • ReMountNetworkShare
        • RecallQuickSelect
        • RegisterUser
        • ReleaseConfigurationToken
        • SetAudioConfig
        • SetAvrZoneStatus
        • SetBluetoothAction
        • SetConfigurationStatus
        • SetCurrentLanguage
        • SetDaylightSaving
        • SetDevicePowerState
        • SetFriendlyName
        • SetHEOSNetID
        • SetLowLatencyConfig
        • SetNetworkConfiguration
        • SetQuickSelectNames
        • SetSessionId
        • SetSurroundSpeakerConfig
        • SetTimeZone
        • SetTranscode
        • SetUpdateAction
        • SetUpdateLevel
        • SetVolumeLimit
        • SetWPSPinSSID
        • SetWirelessProfile
        • StartInvitation
        • StartWifiAp
        • StopInvitation
        • StopWifiAp
        • StoreQuickSelect
        • SubmitDiagnostics
        • UpdateFirmware

        ContentDirectory

        • Browse
        • GetSearchCapabilities
        • GetSortCapabilities
        • GetSystemUpdateID
        • Search
        • X_HideItem
        • X_RenameItem
        • X_SetItemInputLevel
        1 Reply Last reply Reply Quote 0
        • B
          bouster last edited by

          Hallo,

          ich habe das Skript bei mir seit ein paar Wochen am laufen. Leider habe ich seit dem neuen Update das Problem, dass mein Blocky Skript nicht mehr in den HEOS command state schreiben kann, bzw. das Kommando nicht mehr ausgeführt wird. Das Skript wird an der Stelle ausgeführt, jedoch passiert nichts. Leider kann ich kein Bild einfügen, darum versuche ich es so:

          Steuere Kommando für Heos-Skript mit "browse/play_preset?pid=39318011&preset=3"

          Gebe ich das Kommando manuell ein, so wird es problemlos ausgeführt. Ich hab auch das Skript gedebuggt und der befehl wird definitiv so ausgeführt. Im Log ist das auch zu sehen:

          2021-05-27 08:21:25.696	info	script.js.Heos.Heos: [Heos] command: browse/play_preset?pid=39318011&preset=3
          2021-05-27 08:21:25.690	info	script.js.Heos.Heos_Steuerung: test Ende
          2021-05-27 08:21:25.689	info	script.js.Heos.Heos_Steuerung: PLAY ABSOLUTE RELAX: browse/play_preset?pid=39318011&preset=3
          2021-05-27 08:21:25.688	info	script.js.Heos.Heos_Steuerung: test Anfang
          

          Ich hoffe ich bin hier richtig für diese Frage.

          foxriver76 1 Reply Last reply Reply Quote 0
          • foxriver76
            foxriver76 Developer @bouster last edited by

            @bouster wieso nutzt du nicht den Adapter?

            1 Reply Last reply Reply Quote 0
            • B
              bouster last edited by

              Ich habe den Adapter installiert und möchte mit dem Skript den Wert von Command schreiben, damit das Skript den Befehl ausgeführt. Leider wird der Wert aber nicht eingetragen.

              B 1 Reply Last reply Reply Quote 0
              • B
                Brati @bouster last edited by

                @bouster

                Das kannst du doch im Adapter im State

                heos.0.players.3931801.command
                

                als commando

                play_preset&preset=3
                

                übergeben. Klappt aus vis aus dem State oder einem beliebigen JS. Script und Adapter könnte sich beißen.

                Grüße

                Brati

                B 1 Reply Last reply Reply Quote 0
                • B
                  bouster @Brati last edited by

                  @brati
                  Ich benutze Vis nicht. Ich nutze das Mediola AIO neo iobroker plugin und möchte darin eine Auswahl des Lautsprechers festlegen, indem ich die ID an 0_userdata.0.HeosSelected_ID übergebe.
                  In meinem Skript habe ich es wie folgt verwendet:

                  setState("javascript.1.heos.command"/Kommando für Heos-Script/, (['browse/play_preset?pid=',getState("0_userdata.0.HeosSelected_ID").val,'&preset=3'].join('')));

                  Das funktioniert aber leider nicht.

                  B 1 Reply Last reply Reply Quote 0
                  • B
                    Brati @bouster last edited by

                    @bouster die Syntax aufm Handy ist immer schwer, du kannst den o.g. State aus dem Adapter per setState so wie beschrieben setzen. Das sollte ohne das Heos Script funktionieren.

                    B 1 Reply Last reply Reply Quote 0
                    • B
                      bouster @Brati last edited by

                      @brati tut mir leid, ich verstehe nicht genau was du meinst. Meinst du so:

                      setState("javascript.1.heos.command"/Kommando für Heos-Script/, (['browse/play_preset?pid=',getState("0_userdata.0.HeosSelected_ID").val,'&preset=3'].join('')));

                      B Olli_M 2 Replies Last reply Reply Quote 0
                      • B
                        bouster @bouster last edited by

                        Ok, ich denke jetzt habe ich verstanden was du gemeint hast. Danke, habs hinbekommen.

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          Brati @bouster last edited by

                          @bouster sehr gut, jetzt hätte ich auch wieder Zugriff auf den PC :).

                          1 Reply Last reply Reply Quote 0
                          • Olli_M
                            Olli_M @bouster last edited by

                            @bouster

                            Hallo,

                            wie erstelle ich den HEOS Player im VIS und wie bekomme ich Zugriff das es mir mein Musikarchiv anzeigt was auf meinem NAS ist?

                            In der HEOS App habe ich bereits Zugriff darauf.

                            Danke Euch

                            Olli

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

                              Wie bekomme dieses Widget mit dem Player hin?

                              Bildschirmfoto 2021-08-17 um 13.05.14.png

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                Brati @Olli_M last edited by

                                @olli_m

                                Hallo Olli,

                                warum installierst du nicht den Denon/ HEOS Adapter. Den Rest baust du dir im vis zusammen, also das Album Cover aus dem State, die Knöpfe werden mit dem zu bedienenden Commando verknüpft usw...

                                Grüße

                                Brati

                                Olli_M 1 Reply Last reply Reply Quote 0
                                • Olli_M
                                  Olli_M @Brati last edited by Olli_M

                                  @brati

                                  Hi Brati,

                                  habe den Adapter installiert sogar, aber möchte ja trotzdem noch ne Browse View z.b. haben wie es hier ist:

                                  https://github.com/withstu/ioBroker.heos

                                  Wie es da beschrieben ist :

                                  Browse Widget: browse_player_widget.json
                                  Browse View: browse_view.json
                                  Browse HTML Generation Script: browse.js

                                  Aber da versteh ich nicht ganz die schritte wie ich das hinbekomme bzw. ich eigentlich lieber eine eigene View im VIS erstellen möchte.

                                  Welches Widget nutz ich z.b. wenn ich so playbutton machen möchte? VIS ist echt noch neuland für mich 🙂

                                  Lg

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    Brati @Olli_M last edited by

                                    @olli_m Ich verstehe leider dein Problem nicht so ganz.

                                    Wenn du das aktuelle Cover angezeigt haben möchtest, dann nimmst du:

                                    • basic string img src

                                    und legst unter Objekt ID den State "heos.0.players.***.current_image_url" ab

                                    Natürlich deinen State nehmen...

                                    Der Vorspul Button ist ein "ctrl icon state" und damit setzt du den State "heos.0.players.***.next" auf "true"

                                    usw. usw. wie du es haben möchtest...

                                    Grüße

                                    Brati

                                    Olli_M 1 Reply Last reply Reply Quote 0
                                    • Olli_M
                                      Olli_M @Brati last edited by Olli_M

                                      @brati

                                      danke dir 🙂

                                      ich komme mit diesem VIS noch nicht ganz zu recht muss ich zugeben.

                                      Hier bei zwei inventwo widgets finde ich auch nirgends wo ich den Border Schatten noch die Farbe (türkis) weg nehmen kann. In den eigenschaften ist auch nichts hinterlegt.

                                      Unbenannt.PNG

                                      und bei dem zweiten bekommt man nicht mal die schriftart in die Mitte.

                                      Wahrscheinlich stell ich mich zu doof an oder es ist fest in dem widget hinterlegt?

                                      Unbenannt1.PNG

                                      1 Reply Last reply Reply Quote 0
                                      • foxriver76
                                        foxriver76 Developer @Uhula last edited by

                                        @uhula sehr cool, mit welchen MDUI css Klassen lässt sich denn dieses Overlay bauen? Dachte mit der toggle Funktionalität ginge es, nur mag das bei mir leider nicht.

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          strippe @withstu last edited by

                                          @withstu said in [Vorlage] Denon HEOS Script:

                                          @NWH Da gibt es mehrere Varianten:

                                          • Per command: Den command state eines players mit folgendem Text füllen "play_preset&preset=1". Die Nummer ist der entsprechende Favorit. (oder um es auf allen Playern abzuspielen den State heos.0.command mit leader/play_preset&preset=1 füllen).
                                          • Per State: Zunächst einmal die aktuellen Favoriten abrufen, indem folgender State auf true gesetzt wird: heos.0.sources.1028.browse. Anschließend werden die Favoriten unter heos.0.sources.1028 aufgelistet. Diese enthalten jeweils auch einen play state. In Vis lässt sich ein jqui - Icon State Button wie folgt konfigurieren:
                                            Bildschirmfoto von 2021-01-06 18-34-57.png

                                          Sehr cool - der Adapter.
                                          Ich habe ihn auch teilweise ans laufen bekommen - verzweifle aber an den Favoriten:

                                          heos.0.sources.1028.browse ist bei mir nicht vorhanden. Ist der manuell anzulegen?
                                          Vielen Dank

                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            strippe @strippe last edited by

                                            Gerade auf einem anderen Rechner dieselbe installation gemacht - und da ist alles da.

                                            Die eigentliche Installation ist auf einer Docker installation aktiv.
                                            Kann es sein, dass ich dort nicht alle Ports freigegeben habe.
                                            Habt Ihr Ideen, welche Ports der Denon/Heos/Iobroker benötigt.

                                            Vielen Dank

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            930
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            javascript template
                                            45
                                            341
                                            58173
                                            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