HomeAssistant Modbus

Hallo Community,

ich hoffe ihr könnt mir etwas weiter helfen.
Habe eine Modbus integration zu einer Siemens Logo, und möchte einen Rolladen damit steuern.

Ich kann eine Kommunikation mit der Logo aufbauen, und auch die Logo, normaler Eingang damit steuern.

Was ich nicht schaffe ist die Postition zu setzen.

Kann mir bitte jemand erklären, wie und wo dieser Code hin gehört?

- name: JalSchlaf
device_class: shutter
input_type: holding
address: 12325
state_open: 0
state_closed: 100
status_register: 12326
status_register_type: holding

Irgendwie dürfte sich das komplett verändert haben.

hier der originale Beitrag dazu:

Vielen lieben Dank

:crayon:by HarryP: Codezeilen formatiert

Das gehört in deine configuration.yaml direkt unter deine Modbus Konfiguration

Da mal bei cover schauen

Hallo @metallmanu,

vielen lieben Dank, das war es was ich benötigt habe: cover :slightly_smiling_face:

hast du vielleicht auch hierzu noch eine Info, warum ich da einen Fehler bekomme:

es heißt jetzt action statt service

wow, vielen lieben Dank, es hat funktioniert :slight_smile:

Update:
Hallo @metallmanu,

hast du vielleicht auch hierzu eine Idee?

Vielen lieben Dank!

Liebe Grüße
Daniel

:crayon:by HarryP: Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)

das can_tilt muss da in die Konfiguration der Karte und nicht in deine configuration.yaml

@metallmanu

can_tilt ist in der Karte,

aber wenn ich dann die “Events” der Button abfangen möchte im Template

open_cover_tilt
close_cover_tilt

kracht es.

Vielen lieben Dank!

Liebe Grüße
Daniel

wo hast du denn die Events her? Ich sehe die in keiner Doku

@metallmanu

ah okay, wie du da siehst, sind das actions, kommen also in die Automatisierung unter action

@metallmanu

hast du vielleicht ein Beispiel für mich, wie das aussehen könnte?

Vielen lieben Dank!

du willst den Lamellenwinkel einstellen oder?
Da musst du in deinem Cover in der configuration.yaml noch tilt_template oder tilt_optimistic einfügen.
Oder willst du mit einer Automatisierung den Winkel einstellen? Ich habs noch nicht ganz raus, was du erreichen willst :slight_smile:

@metallmanu

danke für die Frage:

Mit den Buttons in der ShutterCard fährt der Raffstore ganz nach oben oder unten, außer er wird manuell gestoppt.
Mit den Tilt Buttons erwarte ich mir, dass ich den Lamellenwinkel am Raffstore einstellen kann.

Vielen Lieben Dank für DEINE Unterstützung

okay, dann musst du wie geschrieben dir noch dein Cover Template in der configuration.yaml anpassen mit dem tilt_template falls du da was dafür hast oder es mit dem tilt_optimistic probieren.

@metallmanu

irgendwie verstehe ich das leider nicht.
Ich möchte nur die beiden events abarbeiten können, wenn auf tilt open oder close gedrückt wird. Das tilt_template hat doch nichts damit zu tun, oder?

doch, sonst weiß dein Cover ja nicht, dass die Lamellensteuerung verfügbar ist. Hast du denn von deiner Siemens Logo einen Sensor, welcher das zurückmeldet, welchen Status die Lamelle hat? Dann kannst du das ja mit dem tilt_template machen. Ansonsten würde ich mal das tilt_optimistic: true probieren

nein, das habe ich nicht,

ich würde einfach die aktuelle Position verwenden wollen, die habe ich, und dann - 1 % oder +1%

Dann wird das nicht so einfach gehen.
Aber schau mal hier, da wird das auch behandelt. Da kannst du dich mal daran anlehnen

@metallmanu

Schönen Guten morgen,
Vielen dank für Deine Unterstützung.
ich habe es geschafft, dass ich über die Buttons ein Script ansteuere.
So sieht das Template aus:

platform: template
covers:
  logo1shutter1:
    device_class: shutter
    friendly_name: "Logo1Shutter1 (Kids Area)"
    #position_template: "{{ 100 - (states('sensor.LogoShutter1Position') | int) }}"
    position_template: "{{ states('sensor.Logo1Shutter1Position') | int }}"

    tilt_template: "{{ states('sensor.Logo1Shutter1Position') | int }}"

    # Action to open the shutter
    open_cover:
      - action: cover.open_cover
        target:
          entity_id: cover.Logo1Shutter1Cover

    set_cover_tilt_position:
      - action: script.set_logo1shutter1_tilt

und so das Script:

set_logo1shutter1_tilt:
  sequence:
    - action: modbus.write_register # Replace with your actual Modbus service
      data_template:
        hub: SiemensLogo1
        address: 153 # Modbus Address
        value: "{{ [(states('sensor.Logo1Shutter1Position') | int) - 5, 0] | max }}"

jetzt fehlt mir nur mehr, dass ich unterscheiden kann, welcher Button ausgelöst worden ist (open_cover_tilt oder close_cover_tilt)

gibt es eine Möglichkeit im Script oder auch schon im Template zu unterscheiden? Ich komme da leider einfach nicht weiter.

Vielen lieben Dank!