Ankündigung

Einklappen
Keine Ankündigung bisher.

Sonos Lautstärke HomeAssistant

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

    #16
    Das doofe daran ist halt dass Media Player ihre Lautstärke als 0..1 float angeben, nicht als 0..100 oder 0..255 - deshalb braucht man evtl eine Automation oder einen helper den man dann exposed.

    Kommentar


      #17
      Hallo zusammen,

      ja bei mir das gleiche verhalten. Geht nur einmal. Da sonst niemand das "Problem" hatte hab ich den Blueprint nicht weiter verfolgt und da bei mir eh jeder Player andere Funktionen braucht habe ich eine Automation gemacht.
      Wie meti geschrieben hat, probiert es mal mit "- service: media_player.volume_up" oder "- service: media_player.volume_down".
      Hier mal die Automation von einem Player.

      Code:
      alias: Sonos Eltern Steuerung
      description: "On/OFF, Lautstärke, Sender "
      trigger:
        - platform: event
          event_type: knx_event
          event_data:
            destination: 10/3/100
          id: An_Aus
        - platform: event
          event_type: knx_event
          event_data:
            destination: 10/3/102
          id: Lautstärke Dimmen
      condition: []
      action:
        - choose:
            - conditions:
                - condition: template
                  value_template: "{{ trigger.event.data.data == 1 }}"
                - condition: trigger
                  id: An_Aus
              sequence:
                - service: media_player.volume_set
                  data:
                    volume_level: 0.09
                  target:
                    entity_id: media_player.sonos_eltern
                - delay:
                    hours: 0
                    minutes: 0
                    seconds: 1
                    milliseconds: 0
                - if:
                    - condition: not
                      conditions:
                        - condition: state
                          entity_id: media_player.sonos_eltern
                          state: playing
                  then:
                    - service: media_player.play_media
                      target:
                        entity_id: media_player.sonos_eltern
                      data:
                        media_content_id: FV:2/7
                        media_content_type: favorite_item_id
                      metadata:
                        title: ANTENNE BAYERN
                        thumbnail: >-
                          http://cdn-profiles.tunein.com/s42824/images/logoq.png?t=151377
                        media_class: genre
                        children_media_class: null
                        navigateIds:
                          - {}
                          - media_content_type: favorites
                            media_content_id: ""
                          - media_content_type: favorites_folder
                            media_content_id: object.item.audioItem.audioBroadcast
            - conditions:
                - condition: trigger
                  id: An_Aus
                - condition: template
                  value_template: "{{ trigger.event.data.data == 0 }}"
              sequence:
                - service: media_player.media_stop
                  data: {}
                  target:
                    entity_id: media_player.sonos_eltern
            - conditions:
                - condition: template
                  value_template: "{{ trigger.event.data.data == 9 }}"
                - condition: trigger
                  id: Lautstärke Dimmen
              sequence:
                - repeat:
                    count: "50"
                    sequence:
                      - service: media_player.volume_up
                        data: {}
                        target:
                          entity_id: media_player.sonos_eltern
                      - delay:
                          hours: 0
                          minutes: 0
                          seconds: 0
                          milliseconds: 200
            - conditions:
                - condition: template
                  value_template: "{{ trigger.event.data.data == 1 }}"
                - condition: trigger
                  id: Lautstärke Dimmen
              sequence:
                - repeat:
                    count: "50"
                    sequence:
                      - service: media_player.volume_down
                        data: {}
                        target:
                          entity_id: media_player.sonos_eltern
                      - delay:
                          hours: 0
                          minutes: 0
                          seconds: 0
                          milliseconds: 400
          default: []
      mode: restart​
      Zwischenschritt damit ich die Werte in Tamplates habe.

      Beispiel:
      Code:
      ##### Sonos und Alexa Volume to Sensor
        - name: sonos_eltern_volume
          unique_id: sonos_eltern_volume
          unit_of_measurement: '%'
          state: "{{ states.media_player.sonos_eltern.attributes.volume_level | float * 100 }}"
      
      ##### Status Sonos und Alexa
        - name: sonos_eltern_state
          unique_id: sonos_eltern_state
          unit_of_measurement: 'on'
          state: "{% if is_state('media_player.sonos_eltern', 'playing') %}on{% else %}off{% endif %}"​​
      Um den Status auf KNX zurückzubringen nehme ich Expose.

      Beispiel:

      Code:
      expose:
      # send Sonos, Alexa values to KNX bus
        - entity_id: sensor.sonos_eltern_volume
          type: percent
          address: '10/3/4'
        - entity_id: sensor.sonos_eltern_state
          type: binary
          address: '10/3/1'​
      Hoffe das hilft ein bisschen.

      Gruß Danny

      Kommentar


        #18
        Hallo,
        gibt es hierzu schon einen neuen Lösungsansatz? Ich habe es bei mir aktuell auch so gebaut, das mit jedem Mal "Dimmen" drücken, der Lautsprecher entsprechend lauter / leiser geht. Das ist aber kein schönes Verhalten.

        Ich habe mir im KNX Busmonitor einmal angesehen, was für Telegramme zu einem normalen Dimmer geschickt werden.
        Ich nehme jetzt einmal an, das ein Dimmer auf z.B. DPT3 Value 9 (hochdimmen) reagiert und solange die Aktion auslöst, bis das nächste Telegramm DPT 3 Value 0 (stop) folgt.

        Wenn das so richtig ist, müsste man in Home Assistant eine Wiederholungsbedingung konfigurieren können, die die Lautstärke solange erhöht, bis das Event DPT3 Value 0 folgt.

        Das scheint aber derzeit mit HA 2024.5 nicht zu funktionieren. Oder habe ich etwas übersehen?

        Kommentar


          #19
          Zitat von StefanWE Beitrag anzeigen
          Wiederholungsbedingung konfigurieren können, die die Lautstärke solange erhöht
          Das ist genau das was da bei
          Code:
          sequence:
            - repeat:
              count: "50"
              sequence:
            - service: media_player.volume_up
              data: {}
              target:
              entity_id: media_player.sonos_eltern
            - delay:
              hours: 0
              minutes: 0
              seconds: 0
              milliseconds: 200​
          passiert.
          In 2024.6 (ab morgen) könnte man den `knx.telegram` trigger dafür benutzen - dann spart man sich das ganze Initialize Zeug für die knx_events. Siehe https://gist.github.com/farmio/bc23c...947309408ff164 als Beispiel für Licht.

          Zitat von StefanWE Beitrag anzeigen
          bis das Event DPT3 Value 0 folgt.
          das passiert hier über den `mode` siehe https://knx-user-forum.de/forum/öffe...81#post1859781

          Kommentar


            #20
            meti deine Automation für doch beim Druck auf die "Dimm" Taste 50 mal den "volume_up" mit einer Verzögerung von 200 Millisekunden aus. Oder verstehe ich dies falsch?

            Kommentar


              #21
              Ja, solange die Automation läuft. Durch "mode: restart" wird eine laufende Automation (und ihr "repeat" Block) aber beim nächsten Trigger abgebrochen. Das passiert bei der 0.

              Das "count: 50" ist nur zur Sicherheit, damit es nicht unendlich weiterläuft wenn man zB bei einem Test das Dimm-Stop Signal nicht gesendet hat.
              Zuletzt geändert von meti; 04.06.2024, 12:55.

              Kommentar

              Lädt...
              X