Neu bei Home Assistant und direkt Modbus Kopplung

Hallo Thorsten,

Ich weiß wie schwer es ist, sich mit dem ganzen auseinander zu setzen und habe selber lange nach einer guten Anleitung in Bezug auf die Systa Comfort 2 gesucht.

Ich versuche dir mal als ebenfalls Laie zu helfen:

Als erstes musst du dir eine modbus.yaml erstellen :
Dazu im File Editor (diesen musst du dir am besten installieren unter Add-ons) eine modbus.yaml (New File) anlegen.

Dann sagst du der configuration.yaml das es diese erstellte Datei gibt :
modbus: !include modbus.yaml
Meine sieht im Ausschnitt so aus:
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

# Text-to-speech
tts:
  - platform: google_translate


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



In der modbus.yaml fügst du nun den Code zum abrufen des Modbus ein. Dieser sieht bei mir derzeit so aus:

YAML:
- name: "SystaComfort-II.r2"
  type: tcp
  host: 192.168.1.146
  port: 502

  
  sensors:
    - name: "Außentemperatur Systa"
      unique_id: Außentemp Systa
      scan_interval: 100
      slave: 1
      input_type: input
      scale: 0.1
      unit_of_measurement: °C
      address: 0
      data_type: int16
    
    - name: "Vorlauftemp"
      unique_id: VLHK
      scan_interval: 100
      slave: 1
      input_type: input
      scale: 0.1
      unit_of_measurement: °C
      address: 1
      data_type: int16
    
    - name: "Warmwasser"
      unique_id: WW_Temp
      scan_interval: 100
      slave: 1
      input_type: input
      scale: 0.1
      unit_of_measurement: °C
      address: 3
      data_type: int16
    
    - name: "Rücklauftemp "
      unique_id: RLHK
      scan_interval: 100
      slave: 1
      input_type: input
      scale: 0.1
      unit_of_measurement: °C
      address: 2
      data_type: int16
    
    - name: "Sollwert Heizkreis"
      unique_id: VL Soll
      scan_interval: 100
      slave: 1
      input_type: holding
      scale: 0.1
      unit_of_measurement: °C
      address: 2
      data_type: uint16
    
    - name: "Status Kessel"
      unique_id: Kesselstatus
      scan_interval: 60
      slave: 1
      input_type: holding
      scale: 1
      address: 41
      data_type: uint16
    
    - name: "Sollwert Warmwasser"
      unique_id: WW Soll
      scan_interval: 100
      slave: 1
      input_type: holding
      scale: 0.
      address: 8
      data_type: uint16

In der Systa Comfort 2 musst du folgenden Einsteller aktivieren:
System -> Einstellungen -> Gebäudeleitsystem lesen (und evtl. schreiben wenn du es hinbekommst ;) )
Der SystaComfort2 solltest du auch eine feste IP zuweisen, so kann man hier keine Probleme bekommen wenn DHCP mal was ändert.

Mein Dashboard sieht derzeit so aus, die Informationen bzw. die Entity kommen aus der modbus.yaml :
YAML:
type: entities
entities:
  - entity: sensor.aussentemperatur_3
    name: Außentemperatur
  - entity: sensor.sollwert_heizkreis
  - entity: sensor.vorlauftemp_hk1
  - entity: sensor.rucklauftemp
    name: Rücklauftemperatur
    secondary_info: none
  - entity: sensor.warmwasser
  - entity: sensor.sollwert_warmwasser
  - entity: sensor.status_kessel
title: Kessel
state_color: true

Im Anhang findest du noch ein paar Variablen die du für deine Solaranlage nutzen kannst.
 

Anhänge

  • IMG_0249.PNG
    IMG_0249.PNG
    192,1 KB · Aufrufe: 13
  • IMG_0250.PNG
    IMG_0250.PNG
    335,9 KB · Aufrufe: 13
  • _.HA - 1.jpeg
    _.HA - 1.jpeg
    484,1 KB · Aufrufe: 11
  • Bildschirmfoto 2023-12-10 um 15.57.28.png
    Bildschirmfoto 2023-12-10 um 15.57.28.png
    925,7 KB · Aufrufe: 13
  • Bildschirmfoto 2023-12-10 um 15.57.45.png
    Bildschirmfoto 2023-12-10 um 15.57.45.png
    1 MB · Aufrufe: 11
Zuletzt bearbeitet:
Hier noch die anderen Anhänge :
 

Anhänge

  • Bildschirmfoto 2023-12-10 um 15.57.55.png
    Bildschirmfoto 2023-12-10 um 15.57.55.png
    954,2 KB · Aufrufe: 10
  • Bildschirmfoto 2023-12-10 um 15.58.05.png
    Bildschirmfoto 2023-12-10 um 15.58.05.png
    1 MB · Aufrufe: 7
  • Bildschirmfoto 2023-12-10 um 15.58.13.png
    Bildschirmfoto 2023-12-10 um 15.58.13.png
    1.006,1 KB · Aufrufe: 6
  • Bildschirmfoto 2023-12-10 um 15.58.18.png
    Bildschirmfoto 2023-12-10 um 15.58.18.png
    1 MB · Aufrufe: 5
  • Bildschirmfoto 2023-12-10 um 15.58.31.png
    Bildschirmfoto 2023-12-10 um 15.58.31.png
    960,6 KB · Aufrufe: 9
und der Rest :
 

Anhänge

  • Bildschirmfoto 2023-12-10 um 15.58.37.png
    Bildschirmfoto 2023-12-10 um 15.58.37.png
    1 MB · Aufrufe: 5
  • Bildschirmfoto 2023-12-10 um 15.59.11.png
    Bildschirmfoto 2023-12-10 um 15.59.11.png
    912,6 KB · Aufrufe: 5
Das ist wirklich eine Klasse Einführung in das Thema.
Vielleicht sollte man noch erwähnen das das ganze nur funktioniert wenn du eine SystaComfort 2 in der Hardware Rev. 2 hast und die Software Version mindestens V2.16 hat.
 
Zunächst einmal vielen Dank für deine Mühe, das hat mir sehr geholfen! Zunächst hatte ich die Einstellung mit dem Gebäudeleitsystem nicht gefunden, die Bedienung war nicht sehr intuitiv für mich. Doch jetzt habe ich die Werte in deinem Dashboard-Code, jetzt muss ich mich nur noch durch die Dokumente wühlen, um die für mich relevanten Informationen angezeigt zu bekommen.

Es war auch eine große Hilfe, um Home Assistant etwas besser zu verstehen und zu lernen, wie ich zukünftig Probleme lösen kann. Andernfalls wende ich mich einfach an euch! :D
 
Hallo,

ich versuch mich auch gerade an meiner Brauchwasser WP mit Modus, bin über Umwegen hier gelandet.
Hatte alles in Iobroker am laufen, und möchte jetzt aber komplett umsteigen auf HA.
Habe nach der obigen Anleitung von @webbid meine modbus.yaml eingestellt, bekomme aber immer einen Fehler.
Logger: homeassistant.components.modbus.modbus
Source: components/modbus/modbus.py:375
Integration: Modbus (documentation, issues)
First occurred: 14:05:22 (1 occurrences)
Last logged: 14:05:22

Pymodbus: dimplex: Error: device: 2 address: 30010 -> pymodbus returned isError True
meine modbus.yaml sieht so aus
YAML:
  - name: "dimplex"
    type: tcp
    host: 192.168.1.4
    port: 502
    sensors:
    - name: "Speichertemeratur oben"
      unique_id: SpeichertempOben
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 30009
      data_type: int16
    - name: "Speichertemperatur unten"
      unique_id: SpeichertempUnten
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 30010
      data_type: int16
Wo kann ich suchen, ich versteh leider manche Sachen nicht, wie "scale" "slave" u.s.w. ich habe es so wie ich es verstanden hab von iobroker übernommen...

vielleicht kann mir jemand einen Tip geben, Danke.
vg

MZ
 
Hi,

habe es nun endlich geschafft..... alles läuft.
Mein Fehler war die Adresse, ich hatte immer die "Register Number" eingegeben :unsure:, aber hier in HA muss die zweistellige "Adresse" eingegeben werden 🙈
Nun läuft alles so wie von @webbid beschrieben, Danke.

viele Grüße
Hier meine modbus.yaml

YAML:
  - name: "dimplex"
    type: tcp
    host: 192.168.1.4
    port: 502
    sensors:
    - name: "Dimplex-Speichertemeratur oben"
      unique_id: SpeichertempOben
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 8
      data_type: int16
    - name: "Dimplex-Speichertemperatur unten"
      unique_id: SpeichertempUnten
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 9
      data_type: int16
    - name: "Dimplex-Lufteintritt"
      unique_id: Lufteintritt
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 10
      data_type: int16
    - name: "Dimplex-Kollektortemperatur"
      unique_id: Kollektortemp
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 11
      data_type: int16
    - name: "Dimplex-Sollwert aktuell"
      unique_id: Sollwert aktuell
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 12
      data_type: int16
    - name: "Dimplex-Abtaufühler"
      unique_id: Abtaufühler
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: °C
      address: 13
      data_type: int16
    - name: "Dimplex-Leistung"
      unique_id: Leistung
      scan_interval: 200
      slave: 2
      input_type: input
      scale: 1
      unit_of_measurement: W
      address: 18
      data_type: uint16
    - name: "Dimplex-Solltemperatur"
      unique_id: Solltemp
      scan_interval: 200
      slave: 2
      input_type: holding
      scale: 1
      unit_of_measurement: °C
      address: 14
      data_type: uint16
 
Hey mariobro,

Schön das meine Anleitung dir geholfen hat 😁.
Scale ist die Nachkommastelle der Temperatur Anzeige wenn ich mich recht entsinne. Probier mal mit 0,1 zb.

Slave weiß ich jetzt aus dem Kopf nicht. Müsste ich selbst nachschauen.

Viel Spaß beim „Spielen“ mit HA 😁
 
Slave ist sozusagen die Modbus Adresse.
An einem Modbus Master können mehrere Slave betrieben werden, die müssen dann aber jede eine eigene (Slave) Adresse haben.
Du hast nur einen Slave also auch immer die gleiche Adresse (1)
 
Hi, ja Slave ist bei mir die 2, hab ich herausgefunden, Danke.
Bräuchte nur noch nen Tipp wie ich nun Werte übergeben kann. Konnte zuvor in die Holdingregister Werte schreiben, z.B. Solltemp erhöhen oder den Booster einschalten, wie übergebe ich hier diese Werte, bzw. wie machst Du es?

viele Grüße
 
Moin, habe die gleiche Fragestellung wie Mariobro wie bekomme ich das Schreiben von Werten in HA hin.



https://www.home-assistant.io/integrations/modbus/#configuring-climate-entities

das würde eigentlich passen, aber was ist was bei den Adressen und warum ist hier nicht Datentyp aufgeführt.


YAML:
# Example configuration.yaml entry
modbus:
  - name: hub1
    type: tcp
    host: IP_ADDRESS
    port: 502
    climates:
      - name: "Watlow F4T"
        address: 27586
        input_type: holding
        count: 1
        data_type: custom
        max_temp: 35
        min_temp: 15
        offset: 0
        precision: 1
        scale: 0.1
        max_temp: 30
        structure: ">f"
        target_temp_register: 2782
        target_temp_write_registers: true
        temp_step: 1
        temperature_unit: C
 

Zurzeit aktive Besucher

Keine Mitglieder online.

Letzte Anleitungen

Statistik des Forums

Themen
4.530
Beiträge
46.436
Mitglieder
4.166
Neuestes Mitglied
xixaxoro
Zurück
Oben