Siemens Logo via Modbus in Home Assistant

Netzwerkeingänge der Logo über HA tasten? Wie bekommt man das hin?

inzwischen hab ich es nach einigem herumtüfteln und googeln geschafft dass ich meine Netzwerkein- und Ausgänge in HA angezeigt bekomme bzw. schalten kann. Aber eben nur schalten, ich will gewisse Eingänge nur tasten nicht einschalten und ausschalten. Kann mir wer sagen wie man das hin bekommt?

1 „Gefällt mir“

zu deine Thema weis ich leider noch nichts aber dein wissen benötige ich da ich auch meine PoolSteurung Siemens Logo einbinden möchte.
Habe
V10.0 -V10.2 Sind Netzwerkeingänge zum schalten
I2-I4 sind meine Taster and der Logo
Q1 ist mein schaltventil
Q2 und Q4 Sind meine Pumpe und meine UV Lampe
Q5-Q7 sind LED´s für die Statusanzeige
AM1-AM3 sind Temperaturen
AM4 ist der Pumpendruck

Meine Logo hat die 192.168.178.10
Mein HA hat die 192.168.178.53

YAML

modbus Konfiguration#
modbus:
name: hub1
type: tcp
host: 192.168.178.10
port: 502

Meine Werte an der Logo

Bekomme immer diese Fehler

Diese Meldungen die du hier hast sagen mir jetzt so auch nichts (bin selbst blutiger Anfänger was Modbus und HA betrifft)
Das hier hat mir sehr geholfen bei dem Modbus / Logo Problem:
Modbus in Home Assistant einfach integrieren - Schritt für Schritt - Modbus & HA
und das hier:
Siemens Logo Einführung, der Variablenspeicher VM, Adressbereich und Zuordnung von VB, VW, VM

meine modbus.yaml (wobei ich die IN der Logo noch nicht angezeigt bekomme, da passt was mit er Adressierung noch nicht ganz,…):

- name: logo                #Name des Geräts 
  type: tcp                 #Verbindungstyp
  host: 192.168.178.206     #IP Adresse
  port: 502                 #Port
  switches:                 #Schalter (Ausgänge, Merker,.. Irgendwelche Teile die man im HA schalten kann)
  
    - name: V400.0 Klingeltaster
      address: 3200 #0 = V0.0, 1 = V0.1,...
      slave: 255
      write_type: coil
      command_on: 1
      command_off: 0
      unique_id: v400.0_klingeltaster
      
    - name: V400.1 Taste Türschließer
      address: 3201 #0 = V0.0, 1 = V0.1
      slave: 255
      write_type: coil
      command_on: 1
      command_off: 0
      unique_id: v400.1_taste_türschließer
      
    - name: V400.2 Taste Dauerauf
      address: 3202 #0 = V0.0, 1 = V0.1
      slave: 255
      write_type: coil
      command_on: 1
      command_off: 0
      unique_id: v400.2_taste_dauerauf
      
    - name: V400.3 Taste Ringpumpe
      address: 3203 #0 = V0.0, 1 = V0.1
      slave: 255
      write_type: coil
      command_on: 1
      command_off: 0
      unique_id: v400.3_taste_Ringpumpe
      
    - name: V400.4 Poolpumpe Manuell
      address: 3204 #0 = V0.0, 1 = V0.1
      slave: 255
      write_type: coil
      command_on: 1
      command_off: 0
      unique_id: v400.4_poolpumpe
      
    - name: V401.0 Testausg 1
      address: 3208 #0 = V0.0, 1 = V0.1
      slave: 255
      write_type: coil
      command_on: 1
      command_off: 0
      unique_id: v401.0_testausg
      
    - name: M1 RW-Pumpe
      address: 8256
      write_type: coil
      unique_id: merker1_rw_pumpe
      
    - name: M2 Gartenschlauch
      address: 8257
      write_type: coil
      unique_id: merker2_taster_gartenschlauch
      
    - name: M3 RESERVE
      address: 8258
      write_type: coil
      unique_id: merker3
      
    - name: M4 
      address: 8259
      write_type: coil
      unique_id: merker4
      
    - name: M5 
      address: 8260
      write_type: coil
      unique_id: merker5
      
    - name: M6 
      address: 8261
      write_type: coil
      unique_id: merker6
      
    - name: M7 Taster Ringpumpe
      address: 8262
      write_type: coil
      unique_id: merker7_taster_ringpumpe
      
  binary_sensors:           #Digitale Eingänge (Sensoren > Zustandsanzeigen in HA)
    - name: IN1-Klingeltaster         #Name der Entität
      address: 1024
      device_class: door
      input_type: input
      scan_interval: 10
      slave: 1
      slave_count: 0
      unique_id: in1-klingeltaster
      
    - name: IN2-MK-Haustür         #Name der Entität
      address: 1025
      device_class: door
      input_type: input
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: in2_mk_haustür_in
      
    - name: Q1 Glocke Haustür         #Name der Entität
      address: 8192                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q1_glocke_haustür

    - name: Q2 THM Haustür         #Name der Entität
      address: 8193                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q2_thm_haustür

    - name: Q3 Relais Pool Pumpe         #Name der Entität
      address: 8194                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q3_relais_pool_pumpe
      
    - name: Q4 Ventil Gartenschlauch         #Name der Entität
      address: 8195                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q4_ventil_gartenschlauch

    - name: Q5 Ventil Carport RW         #Name der Entität
      address: 8195                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q5_ventil_carport_rw
            
    - name: Q6 MK-Haustür-OUT         #Name der Entität
      address: 8197                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q6_mk_haustür_out
                  
    - name: Q11 RW-Pumpe         #Name der Entität
      address: 8202                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q11_rw_pumpe

    - name: Q12 Ringpumpe         #Name der Entität
      address: 8203                 #Adresse für Q1=8192, Q2=8193,..
      device_class: door
      input_type: coil
      scan_interval: 1
      slave: 1
      slave_count: 0
      unique_id: q12_ringpumpe
      
    - name: V401.0 Testausg 1 out
      address: 3208 #0 = V0.0, 1 = V0.1
      slave: 255
      input_type: coil
      scan_interval: 1
      unique_id: v401.0_testausg_out

Hi Sazarg,
du hast mir schon sehr geholfen, hänge aktuell an der Adressierung habe
V10.0 → wie legt man da die Adresse fest
V10.1
V10.2

Finde da keinen Zusammenhang 3200 = V400.2 wie kommst du darauf ?

Hab ich wo im Internet gefunden…
Die Netzwerkeingänge kann man ja benennen von
V0.0 = Adresse 0
V0.1 = Adresse 1

V0.7 = Adresse 7
V1.0 = Adresse 8
V1.1 = Adresse 9

V1.7 = Adresse 15
V2.0 = Adresse 16

V10.0 müsste wenn ich mich nicht verrechnet hab dann Adresse 80 sein
V10.1 = Adresse 81
V10.2 = Adresse 82
und so weiter bis
V850.7 sollte demnach Adresse 6807 sein

Wo du allerdings aufpassen musst (deswegen hab ich bei V400 erst angefangen mit den Netzwerkeingängen)
→ unter “Extras” > “Parameter-VM-Zuordnung…” kannst du weitere Parameter (z.B. Zeiten von irgendwelchen Timern adressieren. > die werden normal automatisch nach der Reihe vergeben (beginnend mit der gleichen Adresse wie V0.0!) man kann diese Adressen zwar auch manuell vergeben, das ist aber komplizierter weil du hier verschiedene Längen der Adressen hast (Bei meinem Beispiel, die Timer sind Parametertyp “Word” und dieser Typ braucht “2” Adressen > der erste hat Adresse 0 der 2. hat 2, dann 4,…

und wenn so eine Adresse doppelt vergeben ist bekommt man keine Meldung! es passiert einfach nur irgendein unerklärlicher Mist, wo man dann ewig am Fehlersuchen ist! :wink:
Also aufpassen dass nichts doppelt vergeben ist!

Hi Salzarg,
danke für die schnelle Info das funktioniert jetzt mal alles soweit.
Habe nun das gleiche Problem wie du das es sich bei der Logo bei den eingängen um Taster handelt aber der Modbus einen Schalter daraus macht. selbst mit NodRED habe ich versuche gemacht und nicht hinbekommen.

Hast du schon Ansätze oder eine Lösung ?

Werde auch weiter suchen und mich melden sobald ich was gefunden habe.
Im Forum gibt es anscheinend auch keine Ansätze oder jemanden der was darüber weis

Ich hab mir einstweilen mal eine Automatisierung erstellt zu jeden “Taster” mit der setze ich die “Schalter” nach 2 Sekunden wieder zurück, ist zwar jetzt nicht die schönste Lösung, da gibt es sicher irgendwie eine bessere denk ich mal außerdem ist es so denk ich auch nicht möglich länger zu tasten (z.B. eine Rollo runter fahren so lange der Taster gedrückt istt o.ä., aber für meine Zwecke reicht es einstweilen →

Hallo liebe Community,

ich habe eine ganze Menge zum Thema Anbindung Siemens Logo in HA gelesen, hadere aber dennoch mit den Adressen.

In meinem bestehenden, fehlerfrei laufenden Programm in LSC, aktuell visualisiert via openHAB habe ich viele Adressen in diesen Adressbereichen:

V100.0
V102.0
V103.4

etc.
Welche Adressen muss ich am Beispiel dieser drei Netzwerkadressen (NI) denn in der configaration.yaml wählen?

Wie kann man die Adressen ableiten?
Gibt es irgendwo eine Möglichkeit, die Logo-Adresse (Netzwerkeingänge, Netzwerkausgänge) einzugeben und dazu die Adressbereiche in HA zu erhalten?

Es wäre Klasse, wenn ihr mir hier weiterhelfen könntet.
Anbei findet ihr mein Programm für die Rollosteuerung.

Vielen Dank im Voraus.

Die Netzwerkeingänge hätte ich oberhalb schon mal erklärt,…

V0.0 = Adresse 0
V0.1 = Adresse 1
V0.7 = Adresse 7
V1.0 = Adresse 8
V1.1 = Adresse 9
V1.7 = Adresse 15
V2.0 = Adresse 16
V10.0 müsste wenn ich mich nicht verrechnet hab dann Adresse 80 sein
V10.1 = Adresse 81
V10.2 = Adresse 82
und so weiter bis
V850.7 sollte demnach Adresse 6807 sein

deinen genauen Bereich müsstest du dir aus dem hier ausrechnen :wink:

Habs mal gach in Excel berechnet, dein bereich ist bei:

|HA Adresse|Logo Adresse|
|---|---|
|800|V100.0|
|801|V100.1|
|802|V100.2|
|803|V100.3|
|804|V100.4|
|805|V100.5|
|806|V100.6|
|807|V100.7|
|808|V101.0|
|809|V101.1|
|810|V101.2|
|811|V101.3|
|812|V101.4|
|813|V101.5|
|814|V101.6|
|815|V101.7|
|816|V102.0|
|817|V102.1|
|818|V102.2|
|819|V102.3|
|820|V102.4|
|821|V102.5|
|822|V102.6|
|823|V102.7|
|824|V103.0|
|825|V103.1|
|826|V103.2|
|827|V103.3|
|828|V103.4|
|829|V103.5|
|830|V103.6|

:crayon:by HarryP:
. Zusammenführung Doppelpost (bitte “bearbeiten” Funktion nutzen)
. Codezeilen formatiert (bitte immer in </> einbinden)

Das ist Klasse, vielen Dank für deine Mühen.
Das hilft mir erst einmal weiter.
Ich teste alles und melde mich ggf. noch einmal.

Ich wünsche dir einen schönen Abend.

Danke @Salzarg

Mit deiner super Hilfe kann ich nun alle Netzwerkeingänge steuern.

Dürfte ich aber noch einmal um deine Unterstützung bitten?
Ich habe noch zwei Fragen:

Wie kann man Netzwerkausgänge abfragen (z.B.NQ7)?
Was muss man dazu in der configuration.yaml eintragen?
Mit

 # Abfrage NQ7 - Flur
      - name: Logo8_5_NQ6
        address: 826
        input_type: coil
        scan_interval: 30
        device_class: problem

funktioniert das nicht, da mosert auch “Konfiguration prüfen / Entwicklerwerkzeuge”. Hier ist “coil” wohl nicht richtig.

Ferner möchte ich die Dauer einer Ausschaltverzögerung zum Beispiel via Slider ändern.

Weißt du, wie man das in der configurtion.yaml anlegt?

Vielen Dank und ein schönes Wochenende.

Also mein Testausgang funktioniert mit folgender Programmierung:

    - name: V401.0 Testausg 1 out
      address: 3208 #0 = V0.0, 1 = V0.1
      slave: 255
      input_type: coil
      scan_interval: 1
      unique_id: v401.0_testausg_out

Coil sollte hier nicht das Problem sein…
vielleicht wird “slave:” oder die “unique_id:” benötigt?
Ich kenn mich leider auch noch nicht wirklich aus, hab das meiste durch Youtube und herum probieren heraus gefunden^^

Das Thema mit den Timern hab ich mir selbst auch noch nicht so genau angeschaut,… würd mich aber interessieren falls du was heraus findest!

1 „Gefällt mir“

Danke für den Hinweis, Salzarg.

I kann Netzwerkausgänge (NQ) nun mit diesem Code in der configuration.yaml auslesen:

# Abfrage NQ11 V104.2 – Küche #      
      - name: NQ11_Alarm_Küche
        slave: 255
        address: 834 # V104.2
        write_type: coil
        command_on: 1
        command_off: 0
        verify:

Dabei ist 834 wieder die Netzwerkadresse des Bausteins in Logo Soft Comfort.

Die Zeitglieder mittels Schieberegler ansprechen ist scheinbar nicht so geläufig, jedenfalls habe ich mir heute “einen Wolf” gesucht und rein gar nichts dazu gefunden…

Es lässt einem nicht los-man will immer ein Stück weiterkommen, oder?
Wenigsten kann ich schon mal analoge Werte auslesen und per Netzwerkeingänge fast alle schalten…

oh, ja, ich beschäftige mich auch schon eine Weile mit der Logo (hab aber noch einige andere HA Projekte die mir momentan noch wichtiger sind).

So sind wir derzeit auf ziemlich den gleichen Stand schätz ich mal. Ich hab auch meine digitalen Eingänge die ich schalten kann, kann digitale I/O’s und Merker in HA auslesen und meine Analogen Merker sehe ich auch in HA.

Was mich derzeit bei dem Thema noch am meisten wurmt, sind die Timer…
Ich schaff es einfach nicht z.B. die Restzeit einer Ausschaltverzögerung in HA aus zu lesen, oder irgendwelche Zeiten über HA in der Logo zu setzen!

Hallo Salzarg,

hier https://www.youtube.com/watch?v=aRD7uIkH7aI ist das sehr gut beschrieben-zwar auf Spanisch, aber man kann im Wesentlichen den Schritten folgen.
Ich bin gerade dabei, das zu implementieren.
Alles läuft aber noch nicht.

Auf die in dem Video beschriebene Vorgehensweise wäre ich im Leben nicht gekommen.

Viel Erfolg!

Hallo,

ich habe damals die LOGO mit folgender Anleitung eingebunden und getestet. Habe aber mittlerweile keine LOGO mehr in HA.
Vielleicht hilft sie dir weiter:

https://blog.caina.de/2023/03/27/siemens-logo-in-homeassistant-einbinden-teil-1/

https://blog.caina.de/2023/03/27/siemens-logo-in-homeassistant-einbinden-teil-2/

Hallo,

Ich habe versucht, der Videoanleitung zu folgen und habe meines Wissens nach die gleiche Funktionsweise hinbekommen. Das Ganze nützt mir aber nichts, denn ich benötige eine Ausschaltverzögerung, die nach einer Zeit “X” abschaltet (Gartenbewässerung).

Dazu habe ich die Einschaltverzögerung gegen eine Ausschaltverzögerung getauscht, aber das Ganze läuft in einer Endlosschleife.

Anbei mal mein Programm, das ich gemäß der Videoanleitung erstellt habe, sowie das urspr. Programm zur Bewässerung.

VG

:+1: Danke, die Anleitung hat mich mal ein Stück weiter gebracht, damit kann ich mal die Timerwerte in HA sehen!
Das ist schon mal cool!

hmmm, mit dem hab ich noch so meine Probleme!

Ich hab es jetzt nicht 1 zu 1 nach programmiert, wollte nur den Zähler über HA in der Logo setzen,… Denke da hab ich noch irgendwo (vermute in HA im Script) einen Fehler.
Bei mir wird nichts in die Logo übertragen, hab auch noch nicht ganz verstanden wie HA auf genau den NAI1 kommt in der Logo…
hub ok > der wird sich schätz ich mal auf den Gerätenamen “name:” auf der modbus.yaml (bzw. im Fall des Video’s in der configuration .yaml) beziehen
aber was bedeutet die “unit: 255” ? und “adress: 1” wenn ich Adresse 1 abfrage bekomme ich konstant 900 zurück, ich vermute fast dass ich da in meinem inzwischen doch recht großen Logo Programm irgendwo einen Adressenkonflikt hab, da ich die 900 schon bekommen hab bevor ich die Teststellung vom Video eingebaut hab.

description: Test Logo Zeiteinstellung
sequence:
  - data_template:
      hub: logo
      unit: 255
      adress: 1
      value: "{{ states('input_number.numw2input_test_logo') | int }}"
    action: modbus.write_register
  - delay:
      milliseconds: 100
alias: ModbusEscriuLogoVW1
mode: single

ich glaub ich sollt mir mal eine 2. Logo und eine 2. HA Installation zum testen organisieren!

Ich habe aktuell genau das gleiche Bild, wie du.
Address: 1 bezieht sich auf den Netzwerkausgang NQ mit der Adresse 0.1.

Du musst natürlich peinlich genau darauf achten, dass es keinen Adressenkonflikt gibt.
Bitte prüfe dazu nicht nur die Blöcke im Programm, sondern auch die VM-Adressen:

Logo Soft Comfort:
Extras → Parameter-VM-Zuordnung