HA Siemens Logo 8 Modbus TCP

Hallo zusammen,

ich versuche aktuell, meine Siemens Logo 8 per Modbus TCP in Home Assistant zu integrieren. Zum Testen möchte ich zunächst den Status von Q1 und Q2 auslesen. Allerdings tritt dabei folgendes Problem auf:

  • Die Werte werden nur einmalig nach einem Neustart von Home Assistant aktualisiert, obwohl ich ein scan_interval gesetzt habe.
  • Mit einem Modbus TCP Tool auf meinem Rechner kann ich die Register problemlos auslesen.
  • Die Proxmox Firewall ist so konfiguriert, dass der Port 506 in beide Richtungen freigegeben ist.

Habt ihr eine Idee, woran das liegen könnte?

Hier ist meine aktuelle Konfiguration in Home Assistant:

modbus:
  - type: tcp
    host: 192.168.178.55
    port: 506
    name: logo8_garage
	
    binary_sensors:
      - name: Q1
        slave: 1
        address: 8182
        input_type: coil
        scan_interval: 5
		
      - name: Q2
        slave: 1
        address: 8183
        input_type: coil
        scan_interval: 5

Ich freue mich über eure Tipps und Anregungen!

Viele Grüße
HilfeMeinHausSpinnt

Hallo,

bei mir habe ich das mit der folgende Konfiguration gelöst:

    binary_sensors:
      - name: Logo8_1_Q13
        unique_id: Logo8_1_Q13
        address: 8204
        input_type: coil
        scan_interval: 10
        device_class: garage_door

# Abfrage NQ3 V2.4 - Sensorfehler_Fuellstandsmessung      
      - name: NQ3_Sensorfehler_Fuellstandsmessung
        slave: 255
        address: 820 # V2.4
        input_type: coil
        scan_interval: 30
        device_class: problem
        
# Abfrage Q19 - Status Garagentor
      - name: Logo8_1_Q19
        unique_id: Logo8_1_Q19
        address: 8210
        input_type: coil
        scan_interval: 10
        device_class: garage_door
        
# Abfrage Q18 - Enthärtungsanlage Salz nachfüllen / Störung
      - name: Logo8_1_Q18
        unique_id: Logo8_1_Q18
        address: 8209
        input_type: coil
        scan_interval: 10
        device_class: safety
        
# Abfrage Q8 - Wassermelder Haustechnikraum
      - name: Logo8_1_Q8
        unique_id: Logo8_1_Q8
        address: 8199
        input_type: coil
        scan_interval: 10
        device_class: moisture

Damit kann ich die Ausgänge dauerhaft auslesen.
Viel Erfolg!

Hallo,

kann mir jemand helfen einen Ausgang der Logo in HA auszulesen?

Bis jetzt habe ich es geschafft in HA einen Switch zu generieren der mittels Script einen Taster improvisiert. Da meine Logos im Haus ja alle mittels Taster und die Logo Programme mittels Stromstoßrelais funktionieren benötige ich auch einen Taster für HA. Oder kennt jemand mittlerweile einen besseren geschickteren Weg, als den mittels Skript?

Ich möchte jedenfalls den Ausgang der Logo mittels HA auslesen und in einem Statusfeld anzeigen lassen. Dabei scheitere ich.

config.yaml


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

modbus:
  - name: logo
    type: tcp
    host: 192.168.178.204
    port: 502
    delay: 2

    switches:
      - name: LOGO Licht Küche
        slave: 1          # Unit-ID der LOGO
        address: 3200        # Coil 1 -> VM400.0
        write_type: coil
        scan_interval: 2
        

    binary_sensors:
      - name: LOGO Licht Status
        slave: 1
        address: 3201      #  -> VM400.1
        input_type: coil
        scan_interval: 2
        device_class: problem

Meine LogoSoft:

Ich weis momentan nicht wo das Problem liegt. Auf Logo Seite oder HA Seite. Den Ausgang Kochinsel also Q8 mittels HA zu schalten funktioniert einwandfrei. HA setzt mittels des Skriptes einen Tastimpuls und setzt 400.0 in der Logo 8.3_4 auf 1 für 0,2 Sekunden. Das reicht um den Stromstoßschalter zu aktivieren und Q8 auf Ein zu setzen.

Die Rückmeldung sollte so sein, zumindest denke ich so, dass wenn Q8 Ein ist, auch NQ2 auf 1 gesetzt wird. NQ2 ist 400.1 auf der Logo 8.3_4.

Dann wird mittels Binary Sensors das Bit 3201 welches ja 400.1 sein sollte ausgelesen. Aber mein Status steht dauerhaft auf AUS.
Wenn ich den input_type von coil auf discrete_input ändere wird die Entität mit “nicht verfügbar” angeziegt.

Kann jemand helfen?

Danke sehr im voraus!

Habe mittlerweile herausgefunden, dass das Bit 400.1 tatsächlich gesetzt wird wenn Q8 auf Ein steht. Das heißt für mich: das Preoblem müsste in HA liegen weil ich die Adresse 3201 oder 400.1 nicht auslesen kann.

Hallo,

ich habe nun mittlerweile auch eine andere passendere, zumindest für meinene Anwendungsfall, Lösung gefunden.

Die Funktion, bitte nicht auf das Wort Funktion festnageln, “lights”, die ich im Netz gefunden habe macht im Prinzip genau was ich brauche. Sie erzuegt einen Button mit einer Lampe als Icon. Wenn die Lampe an ist wird diese sogar gelb.

Problem ist, dass sie dauerhaft schaltet. Also wieder ein Skript nehmen um einen Taster zu simulieren.

scripts.yaml

logo_licht_kueche_impuls:
  alias: LOGO Licht Küche kurz tasten
  sequence:
  - data:
      hub: logo
      slave: 1
      address: 3200
      state: true
    action: modbus.write_coil
  - delay: '00:00:00.2'
  - data:
      hub: logo
      slave: 1
      address: 3200
      state: false
    action: modbus.write_coil

logo_licht_esszimmer_impuls:
  alias: LOGO Licht esszimmer kurz tasten
  sequence:
  - data:
      hub: logo
      slave: 1
      address: 3202
      state: true
    action: modbus.write_coil
  - delay: '00:00:00.2'
  - data:
      hub: logo
      slave: 1
      address: 3202
      state: false
    action: modbus.write_coil

In dere Configuration.Yaml habe ich dann folgendes gemacht:


# Loads default set of integrations. Do not remove.
default_config:

# Load frontend themes from the themes folder
frontend:
  themes: !include_dir_merge_named themes

automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml

modbus:
  - name: logo
    type: tcp
    host: 192.168.178.204
    port: 502
    delay: 2

    switches:
      - name: LOGO Licht Küche
        slave: 1          # Unit-ID der LOGO
        address: 3200        # Coil 1 -> VM400.0
        write_type: coil
        scan_interval: 2


    binary_sensors:
      - name: Licht Küche
        slave: 1
        address: 3201      #  -> VM400.1
        input_type: coil
        scan_interval: 2
        
    lights:
      - name: Esszimmer
        slave: 1
        address: 3202
        write_type: coil
        scan_interval: 2
        verify:
            input_type: coil
            address: 3203
            state_on: 1
            state_off: 0

Hier wird die Adresse 3202 welche mit 400.2 korreliert gesetzt und durch das skript wieder rückgesetzt. Ich vermute mal mit verify frägt HA den Zustand von etwas ab und ändert daraufhin das Icon in gelb für an und in blau für aus. Hier habe ich einfach die Adresse vom ausgang des Tatsächlichen Logoausgangs abgefragt. Heißt wenn das Licht an ist ist der Ausgang ja gesetzt und somit auch die 400.3 und somit auch die 3203. So wechslet das Icon auch auf gelb wenn ich mit einem physikalischen Taster das Licht einschalte.

In HA sieht das dann so aus: