Item kopieren?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
Tüftler
Beiträge: 20
Registriert: 23. Aug 2019 21:24
Answers: 1
Wohnort: St. Gallen / Schweiz

Item kopieren?

Beitrag von Tüftler »

Zuerst danke für dieses Forum, in welchem man die komplexen Themen in der Muttersprache lesen kann...

openHAB kenne ich nicht sehr tief, ich programmier(t)e mehr in TwinCat von Beckhoff.

Was schon läuft bei mir:
- Werte in der CX (Beckhoff SPS) berechnen/erfassen und über Modbus TCP ins openHAB bringen, anzeigen und loggen
- Werte der PV Anlage (Solaredge) direkt ins openHAB bringen, anzeigen und loggen

Mein Ziel wäre es jetzt, Werte der PV Anlage über Modbus in die SPS zurück bringen.

Das item der PV Anlage sieht so aus:
Number:Power SE2200_Live_Production "Produktion aktuell [%.0f %unit%]" {channel="solaredge:generic:se2200:live#production"}

Das item, das ich senden möchte, sieht so aus:
Number PVWertzumSchreiben "Wert [%.1f kWh]" { channel="modbus:data:TwinCat:holding:write0001:number" }

Ob das hinten in der geschweiften Klammer stimmt weiss ich noch nicht ;-)
Meine erste Frage ist aber mal:
- wie kann ich den Wert "SE2200_Live_Production" ins Item "PVWertzumSchreiben" kopieren?

Und:
- kann ich in openHAB fix einen Wert, z.B. 34.2 ins Item "PVWertzumSchreiben" schreiben?

Es geht vor allem darum, dass ich danach mal die Modbus-Kommunikation testen kann!
Danke für die Hinweise!
Grüsse, Martin
openHAB3.4.3 mit openHABian eingerichtet // eher Konfigurier-Fähigkeiten als Programmier-Fähigkeiten ;)

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

Re: Item kopieren?

Beitrag von udo1toni »

Sowohl das eine als auch das Andere kannst Du einfach per Rule erledigen:

Code: Alles auswählen

rule "auto Update PV nach Modbus"
when
    Item SE2200_Live_Production changed
then
    if(SE2200_Live_Production.state instanceof Number)
        PVWertzumSchreiben.sendCommand((SE2200_Live_Production.state as Number).floatValue)
end
sobald sich den Status von SE2200_Live_Production ändert, wird die Rule getriggert und sendet den Status an Modbus (sofern der Status ein gültiger Zahlenwert ist).
Noch einfacher ist die fixe Zahl:

Code: Alles auswählen

rule "Test Senden nach Modbus"
when
    Time cron "17 * * * * ?" // minütlich, 17 Sekunden nach der vollen Minute
then
    PVWertzumSchreiben.sendCommand(34.2)
end
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
Tüftler
Beiträge: 20
Registriert: 23. Aug 2019 21:24
Answers: 1
Wohnort: St. Gallen / Schweiz

Re: Item kopieren?

Beitrag von Tüftler »

Danke für die sehr gut verständliche Antwort.
Ausprobieren kann ich es leider erst am Montag Abend ;-)
openHAB3.4.3 mit openHABian eingerichtet // eher Konfigurier-Fähigkeiten als Programmier-Fähigkeiten ;)

Benutzeravatar
Tüftler
Beiträge: 20
Registriert: 23. Aug 2019 21:24
Answers: 1
Wohnort: St. Gallen / Schweiz

Re: Item kopieren?

Beitrag von Tüftler »

Besten Dank!
Es hat gut geklappt und ich kann es nachvollziehen!

Jetzt kümmere ich mich darum, dass das Modbus-Schreiben noch nicht klappt ;-)
openHAB3.4.3 mit openHABian eingerichtet // eher Konfigurier-Fähigkeiten als Programmier-Fähigkeiten ;)

Antworten