Modbus Werte Solaredge an KNX übertragen schlägt fehl

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

C3PO
Beiträge: 9
Registriert: 18. Aug 2024 18:02
Answers: 0

Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von C3PO »

Hallo zusammen,

bin neu hier und versuche mich gerade daran, ein paar Modbuswerte aus meinem Solaredge Wechselrichter auf meinen KNX Bus zu übertragen.
Leider werden, egal welchen DPT ich versuche, die Werte nicht auf die entsprechende GA auf den KNX übertragen.

Wechselrichter ist über das Solaredge-Binding "angezapft", Daten/Werte sind in OpenHAB sichtbar.
KNX-Things inkl. Channels sind angelegt und die Werte des WR werden auch dorthin gemappt --> Aber, egal was ich versuche, werden die Daten nicht auf den KNX gesendet.

Die Items aus dem Solaredge Binding sind als "Number:Power" gekennzeichnet und werfen Werte in W aus.
Das Thing für den KNX ist auch als "Number:Power" gekennzeichnet und zeigt mir auch die Werte in W an --> Mit dem Unterschied Output Solaredge ist mit zwei Nachkommastellen (xxx,xx W) auf dem KNX-Thing sind die Kommas abgeschnitten (xxx W).

Code des KNX Things sieht wie folgt aus:

Code: Alles auswählen

UID: knx:device:0001-001f1b2e:e291a4f353
label: KNX Gerät
thingTypeUID: knx:device
configuration:
  pingInterval: 600
  readInterval: 0
  fetch: false
bridgeUID: knx:ip:0001-001f1b2e
location: Momentanverbrauch
channels:
  - id: "136864323"
    channelTypeUID: knx:number
    label: Momentanverbrauch
    description: ""
    configuration:
      ga: 9.024:16/0/1
Die GA 16/0/1 ist eine leere GA auf dem KNX, die ich nur verwenden will um die Daten mit einem Gira-HS weiter zu verarbeiten.

Egal welchen DTP Typ ich nun verwende (Versucht mit 13.010,13.013, 9.001 und 9,024), die GA 16/0/1 wird auf dem KNX vom Ip-Router nicht gesendet.

Habe mir auch zwei Things zum Test für den Momentanverbrauch angelegt: Das eine ist über eine Rule verbunden, das andere direkt im Thing/Channel mit dem Solaredge-Kanal verbunden. Ändert aber am Output nichts.

Gleiches Problem mit dem Füllstand des Speichers, der in % ausgegeben wird --> Dieser lässt sich auch nicht auf den KNX mappen.

Zum generellen Test habe ich mir einen Switch zum einschalten eines Aktors angelegt und mit einem anderen Thing einen DPT5.010 Wert vom KNX gelesen --> Das funktioniert.

Evtl. hat ja jmd. eine Idee, an was das Problem liegen könnte.

Danke.

Gruß Thomas

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

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von udo1toni »

Herzlich willkommen im openHAB Forum!

Zwei wichtige Punkte:
1. Ein Thing (genauer: der jeweilige Channel) hat keine Kennzeichnung number:power, auch wenn der entsprechende Channel mit QuantityType Werten umgehen kann. Diese Kennzeichnung geschieht ausschließlich in den Items, und dort ist jeweils der erste Buchstabe groß geschrieben (Number:Power)
2. Es gibt unterschiedliche Möglichkeiten, wie der Wert aus Binding 1 (Modbus?) nach Binding 2 (knx) kommt, da kommt es sehr darauf an, was Du konfiguriert hast.

Typische Variante: Du verlinkst beide Channel mit dem selben Item. openHAB kümmert sich dann um den Rest. Du brauchst also exakt ein Item und zwei Channel.
Damit das funktioniert, muss allerdings der vom 1. Binding gesendete Wert vom 2. Binding als Befehl gewertet werden.
Es gibt hierfür grundsätzlich das follow-Profile, allerdings ist das aus unterschiedlichen Gründen für knx nicht das Mittel der Wahl.
Stattdessen musst Du einen anderen Channeltyp verwenden, und zwar muss als channelTypeUID hier knx:number-control stehen.
In der UI kannst Du Nummer Steuerung als Channeltyp wählen, wenn Du den Channel neu erzeugst (oder Du nimmst die Änderung über die Code Ansicht vor... In der UI gibt es dafür sonst keine Möglichkeit der Bearbeitung...)

Wichtig ist dann, dass der Channel mit dem selben Item verlinkt wird, in dem der Wert von Modbus ankommt, und zwar ohne weitere Angaben im Profile.
Nun zum DPT: 9.024 ist kiloWatt, nicht Watt, 14.056 wäre hier die korrekte Wahl.
Dieser DPT sollte auch von openHAB unterstützt sein, obwohl er nicht explizit genannt ist, jedoch ist der Block 14.xxx genannt (https://www.openhab.org/addons/bindings ... nhab-types)

Es kann dennoch sein, dass Dein knx Router das Datenpaket verwirft, und zwar falls der Router eine Filterliste hat. Da die ETS die GA nicht kennt - es ist ja kein Device damit verknüpft - ist sie eventuell gesperrt. Abhilfe schafft da ein virtuelles Gerät (Du legst einfach "irgendein" Gerät an, welches die GA zugewiesen bekommt - anschließend musst Du den Router programmieren, damit die GA in die Filterliste aufgenommen werden kann. Das nicht existente Gerät wird natürlich nicht programmiert, es existiert ja nicht.)
Alternativ kannst Du den Router auch anweisen, gar keine GA zu filtern.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

C3PO
Beiträge: 9
Registriert: 18. Aug 2024 18:02
Answers: 0

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von C3PO »

Hallo Udo,

vielen Dank für die deine detaillierte Hilfe.
Mit der Umstellung auf "number-control" klappt es jetzt --> Die Werte kommen auf den entsprechenden GA´s auf dem KNX an (Virtuelles Gerät war nicht notwendig).

Perfekt, Danke.

Einziges Problem was ich jetzt noch habe: Im OpenHAB-Model werden mir nun unter dem KNX-Router an den Points für die einzelnen Parameter die Werte nicht mehr angezeigt. Diese bleiben auf "NULL" stehen.

Dazu noch eine Idee?

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

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von udo1toni »

Die Daten gehören ja nicht zu knx, sondern zum Solaredge WR. Ich hoffe mal, das Du keine weiteren Items mit dem Channel verlinkt hast, das wäre kontraproduktiv.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

C3PO
Beiträge: 9
Registriert: 18. Aug 2024 18:02
Answers: 0

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von C3PO »

Ich hätte jetzt gedacht, dass wenn ich im Model mit "Creat Points from Thing" das entsprechende KNX-Device, welches ich für jeden Parameter angelegt und mit dem entsprechenden Solaredge Parameter verlinkt habe, wähle, wird mir dort der Wert angezeigt, den das Gerät auf den KNX sendet --> Hier bleibt es aber immer bei "Null".

Die Werte kommen jetzt alle auf dem KNX an. Nächstes Problem ist nun, dass der Gira Homeserver mit dem DPT 14.056 Wert scheinbar nichts anfangen kann. Egal ob ich 4 Byte (EIS9/IEEE Gleitkomma) oder 32-Bit (EIS11/-2147483648 ..2147483647) beim Datentyp wähle, die Anzeige der Werte bleibt bei "0".

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

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von udo1toni »

Der Wert ist ja nicht vom knx Bus, der Channel wird ausschließlich zum Senden verwendet. Und das verlinkte Item gehört zum Solaredge.
Das Semantic Model setzt auf Items auf. Locations sind Group Items (mit passendem Tag), Devices sind Group Items (mit passendem Tag), Points sind Nicht-Group-Items (mit passendem Tag). Die Zuordnung erfolgt dann über die Gruppen.
Ein Item darf maximal einer Gruppe im Semantic Model zugewiesen sein - es darf aber zusätzlich beliebig vielen non-semantic Groups zugewiesen werden.
Der Datentyp muss DPT14.056 sein. Falls der HS damit nicht umgehen kann, ist das traurig :) DPT14 gibt's schon echt lange, meine älteste DPT-Liste der KNX Association ist von 2010, da war dieses Format schon lange etabliert. Es handelt sich um "4-Octet Float Value", das HSB gibt das Vorzeichen an, die nächsten 8 Bit bilden den Exponenten, die übrigen 23 Bit bilden den Bruchteil.
Bist Du sicher, dass der Wert auf dem Bus ankommt (siehst Du ihn z.B. in der ETS im Gruppenmonitor)?

Laut Wikipedia entspricht DPT14 EIS9...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

C3PO
Beiträge: 9
Registriert: 18. Aug 2024 18:02
Answers: 0

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von C3PO »

Ja, ich sehe die Daten bzw. die Botschaften im Gruppenmonitor der ETS.

Wenn ich den DPT 14.056 vorne anstelle, kommen 4 Byte auf dem KNX an.
Zum Test habe ich die 14.056 jetzt mal vor der Gruppenadresse entfernt, dann kommen auf dem KNX 2 Byte an --> Auch hier interpretiert die ETS die Daten quasi korrekt: Als Bsp. "Production Live = 3C 75 / 1460,48" --> Wird zwar ohne Einheit im Gruppenmonitor angezeigt, aber alle Werte der Botschaften stimmen mit der Anzeige in OpenHAB vom SE-Wechselrichter überein. In dem Fall 1460Watt.


Aber: Weder den 2 Byte Werte noch den 4 Byte Wert will mir der Homeserver anzeigen --> Egal mit welchen Datentyp. Habe jetzt zum Test fast alle Typen innerhalb des Homeservers mal getestet. Keine Änderung. Die Werte in der Anzeige der Oberfläche bleiben leer.
Irgendwas scheint hier noch nicht zu passen.

C3PO
Beiträge: 9
Registriert: 18. Aug 2024 18:02
Answers: 0

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von C3PO »

Kurzer Nachtrag: Ich habe jetzt zum Test die Werte mit DTP 14.056 in mein Gira-Display (Stand-alone Gerät, nicht abhängig vom Homeserver) mit DPT 14.xxx (4 Byte - IEEE Float, z.B. EIS9) eingefügt, dort werden sie korrekt angezeigt.
Also irgendwas scheint dem Homeserver noch nicht zu "schmecken"......

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

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von udo1toni »

Ja, der Gira Homeserver kann zickig sein.
Ich habe mich 2010 mal damit beschäftigt, weil ein Kollege damals sein Haus darüber steuerte, aber ich fand die Konfiguration... sperrig, um es mal ganz lieb auszudrücken.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

C3PO
Beiträge: 9
Registriert: 18. Aug 2024 18:02
Answers: 0

Re: Modbus Werte Solaredge an KNX übertragen schlägt fehl

Beitrag von C3PO »

Der HS war halt vor 15 Jahren (zumindest für mich) mal "State of the Art" und da ich nicht der "unendliche Bastler" bin, sondern der KNX Stand bei mir im Haus eigentlich fast unverändert die letzten 15 Jahre lief, ist das für mich ausreichend.

Mir geht es eigentlich auch nur um einen Punkt: Ich will auf dem KNX ein "Signal" generieren, mit dem ich gewisse Verbraucher aktiviere, wenn PV-Überschuss (> x kw) anliegt --> Das hätte ich mir gerne mit meinen "halbwegs vertrauten" Logiken im HS generiert.
Der erste Kontroll-Step dazu wäre jetzt gewesen, sich die Werte erstmal im HS anzeigen zu lassen, damit ich mir sicher bin, dass die Werte als Eingangsgröße für die Logik korrekt eingelesen werden.

Ich "bastel" mal weiter.....

Falls ich je nicht weiter komme, muss der zweite Step dann evtl. sein, sich das Signal in OpenHAB zu generieren.
Bisheriger Plan war, OpenHAB nur als reines Signal-Routing-Gateway zu benutzen.

Also besten Dank mal bis hierher !

Antworten