Seite 1 von 2

Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 27. Dez 2023 07:46
von CottonEyeJoe
Hallo Zusammen,
ich hoffe ihr könnt mir helfen, habe in einem Schwörer Haus User Forum gesehen, dass ein User seine Wärmepumpe, dieselbe die ich auch habe, per ModBus TCP in openHAB digital gemacht.
Habe auch ein paar kleine Infos von ihm bekommen aber er antwortet zeitbedingt sehr unregelmäßig.

Er sagte, dass er das ModBus Binding benutzt hat, dann Poller erstellt hat mit der ModBus Tabelle von Schwörer Haus (liegt mir vor) und dann Data Things erstellt hat.

Habe nun schon viele Videos angeschaut und wüsste schon wo man alles einträgt, aber dies mit den Poller und Things hab ich nicht ganz verstanden wie ich die Daten eingeben muss.
Hoffentlich kann mir da jemand von euch einen Tipp geben mit einem oder zwei Beispiel Screenshot von Poller und Things.

Die Tabelle musste ich per Link zur Verfügung stellen, konnte keine PDF hochladen.

https://drive.google.com/file/d/1-tr7iV ... p=drivesdk

Grüße Johannes

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 27. Dez 2023 10:47
von CottonEyeJoe
Wenn ich es korrekt verstehe, wäre doch der erste Poller "Betriebsart" mit "Start" 100 und "Lengh" 5

Das Data Thing wäre dann "Read Adress" 0 für die Betriebsart Aus?

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 27. Dez 2023 17:23
von udo1toni
Das Modbus Binding ist etwas unkonventionell. Ganz grob:
Du erstellst eine Bridge (Typ modbus:tcp)
Unterhalb dieser Bridge erstellst Du eine weitere Bridge, welche dann den Adressbereich angibt, und wie diese Adressen verwendet werden (also ob nur lesbar, nur schreibbar oder schreib/lesbar).
Unterhalb der zweiten Bridge definierst Du dann für einzelne Adressen aus dem Adressblock der übergeordneten Bridge die Adresse, die Länge und den Datentyp.

Also z.B.

Code: Alles auswählen

Bridge modbus:tcp:heizung "Heizung Modbus" [
    host="192.168.178.66",
    port=502,
    id=1
] {
    Bridge poller control "Poller" [
        start=100,
        length=4,
        type="holding"
    ] {
        Thing data Betriebsart "Betriebsart"  [readStart="100",readValueType="int16", writeValueType="int16", writeStart="100", writeType="holding"]
        Thing data LuftManuell "Luft manuell" [readStart="101",readValueType="int16", writeValueType="int16", writeStart="101", writeType="holding"]
        Thing data LuftAktuell "Luft aktuell" [readStart="102",readValueType="int16" ]
        Thing data LuftLinear  "Luft linear"  [readStart="103",readValueType="int16", writeValueType="int16", writeStart="103", writeType="holding"]
    }
}
Das sind dann vier Things, deren Daten jeweils über einen Channel abgerufen/gesteuert werden können. Die Channel koppelst Du mit passenden Items.

Das ist auch alles sehr ausführlich in der offiziellen Doku erklärt :)

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 27. Dez 2023 17:55
von CottonEyeJoe
Danke für deine Antwort.
Die Sachen mit einzelne Temperaturen auslesen hab ich sogar schon hinbekommen, hab einen Poller gemacht mit Temperaturen und dann die einzelnen Data Things.

Aber die Sachen zum schreiben/ändern klappen nicht.
Also müsste ich dann quasi 2 Poller anlegen und 4 Data Things für das Beispiel mit der Adresse 100?
Also 101 wäre quasi schon etwas anders, weiß nicht wo ich die Werte 0 - 4 und den Text zum schreiben eingeben soll.

Sorry, bin recht neu in OpenHAB, werde mir die Doku noch anschauen, dachte nur vill. hast du oder jemand anders einen schnellen Tipp bevor ich mich durchkämpfe.

Bin eher auf der grafischen Oberfläche unterwegs bis jetzt.
Hoffe ich komme mit den Codezeilen mit.

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 27. Dez 2023 22:14
von mad-mike
Bin eher auf der grafischen Oberfläche unterwegs bis jetzt.
Bei Modbus kann ich dir nur empfehlen, Mach es über die Text datein.

Habe es auch erst Über die UI versucht, aber das wird unübersichtlich...

Du Liest read write 100 aus.

Und dann bekommst du ein wert 1 - 2 - 3 - 4

Und mit einem Item kannst du dann den zustand ändern in dem man dann ein Wert zurück schickt,

Code: Alles auswählen

        Thing data Betriebsart "Betriebsart" [ readStart="100", readValueType="int16", writeStart="100", writeValueType="int16", writeType="holding" ]

Code: Alles auswählen

Number Betriebsart "Betriebsart [%.0f]" (gHeizung) {channel="modbus:data:tcpBridge:Betriebsart:Betriebsart:number"}

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 27. Dez 2023 23:56
von udo1toni
Ja, das Modbus Binding ist in meinen Augen auch definitiv kein "Anfänger Binding" - ganz abgesehen davon, dass ich es für äußerst überarbeitungswürdig halte :)

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 28. Dez 2023 08:26
von CottonEyeJoe
Habe es nun hinbekommen, mein Fehler war, dass ich nicht mit dem Semantic Model begonnen habe.
Habe alle Items manuell angelegt, in einem anderem Forum wurde mir aber gesagt, dass der aller erste Schritt das Semantic Model ist, danach konnte ich dann über Geräte die Betriebsart steuern und alle Temperaturen sehen :)

Aber mal eine andere Frage, ich habe zur Einführung und lernen der Funktionen openHAB auf meinem PC installiert.
Wenn ich das dann auf meinen Raspberry mal übertragen möchte, wo finde ich dann meine Daten?
Meine Ordner sind alle leer auf der Festplatte im openHAB Ordner, muss ich das dann alles neu machen?

Arbeite im Moment ausschließlich im Web, ohne Texteditor oder ähnliches

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 28. Dez 2023 13:37
von udo1toni
Es gibt ein cli-Tool openhab-cli, welches ein Backup erstellen kann. Das Backup kannst Du dann einfach im Produktivsystem einspielen.

Code: Alles auswählen

openhab-cli backup
Der Befehl liefert als Ausgabe auch den Speicherort der erstellten Datei :)

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 30. Dez 2023 12:46
von CottonEyeJoe
Vielen Dank, Backup hat geklappt.

Mal eine ganz blöde Frage, kann man sich am Browser auch Abmelden?
Den PC nutzen auch meine Frau und Kinder und wäre schade wenn die etwas unabsichtlich verstellen.

Re: Schwörer Haus Wärmepumpe ModBus TCP

Verfasst: 30. Dez 2023 21:40
von udo1toni
Ja, das ist nur ein wenig versteckt. Du klickst auf den Usernamen (also unten links...) und da gibt es dann eine Liste aller Sitzungen. Du kannst darüber jede Sitzung entfernen und unter der Liste gibt es den Punkt "von aktiver Sitzung abmelden"