Negative Werte via Modbus senden

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
TurboMOD
Beiträge: 20
Registriert: 10. Okt 2021 08:55

Negative Werte via Modbus senden

Beitrag von TurboMOD »

Hallo Zusammen,
ich hatte vor einiger Zeit meinen Batteriewechselrichter (Victron Multiplus) via Modbus in openhab eingebunden. Das Ganze funktioniert soweit super, nur an einer Stelle komme ich nicht weiter. Ich lese den aktuellen Status (Laden/Entladen/Standby) aus und setze dementsprechend den Netzsollwert.

Beispiel: Beim Status Entladen, soll er auf 50W regeln, um Aufgrund der Trägheit/Schwankungen nicht unnötig Akkukapazität ins Netz zu schieben.
Beim Status Laden würde ich jetzt gerne -50W haben. Aber sobald die Werte ein negatives Vorzeichen bekommen, passiert nichts.

Im Log Viewer erscheint eine Meldung:

Code: Alles auswählen

2022-05-15 08:03:36.835 [WARN ] [internal.defaultscope.ScriptBusEvent] - Command '-50.0' cannot be parsed for item 'ModbusDataVictronSettingsgridsetpoint_ValueasDimmer (Type=DimmerItem, State=0.0, Label=setpoint_grid_write, Category=, Tags=[Point], Groups=[Victron_Multiplus_2])'.
Im thing "Modbus_Data_Victron_Settings_grid_setpoint" habe ich unter Write Value Type "16bit positive or negative integer, 1 register (int16, uint16)" eingestellt.

Kann mir Jemand sagen, wie ich openhab dazu überreden kann, negative Werte an den Wechselrichter zu senden?
Gruß
Ronny

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

Re: Negative Werte via Modbus senden

Beitrag von udo1toni »

Ein Dimmer kann nur die Werte 0 bis 100 annehmen. Dein Item ModbusDataVictronSettingsgridsetpoint_ValueasDimmer ist ein Dimmer Item. Keine Ahnung, warum Du das Item als Dimmer definiert hast :) aber es gäbe auch noch den Itemtyp Number, der mit Float Zahlen umgehen kann. Integer ist eine Teilmenge von Float :).
Der Channel muss ebenfalls vom Typ Number sein.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

TurboMOD
Beiträge: 20
Registriert: 10. Okt 2021 08:55

Re: Negative Werte via Modbus senden

Beitrag von TurboMOD »

Ich hatte verschiedene Typen ausprobiert und Dimmer war scheinbar der einzige bei dem sich etwas tat :? :D
Ich habe das Item mal auf Number geändert und testweise -500 geschickt:

Code: Alles auswählen

2022-05-15 12:59:20.194 [INFO ] [openhab.event.ItemCommandEvent      ] - Item 'ModbusDataVictronSettingsgridsetpoint_ValueasDimmer' received command -500
2022-05-15 12:59:20.196 [INFO ] [penhab.event.ItemStatePredictedEvent] - Item 'ModbusDataVictronSettingsgridsetpoint_ValueasDimmer' predicted to become -500
2022-05-15 12:59:20.201 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ModbusDataVictronSettingsgridsetpoint_ValueasDimmer' changed from 0 to -500
2022-05-15 12:59:20.544 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'ModbusDataVictronSettingsgridsetpoint_ValueasDimmer' changed from -500 to 0
EDIT: Hab`s gefunden, es reicht nicht, das Item zu ändern. Im Channel stand auch Dimmer drin. Vielen Dank :)
Gruß
Ronny

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

Re: Negative Werte via Modbus senden

Beitrag von udo1toni »

TurboMOD hat geschrieben: 15. Mai 2022 13:09 Hab`s gefunden, es reicht nicht, das Item zu ändern. Im Channel stand auch Dimmer drin. Vielen Dank :)
Ja, das hatte ich im Posting erwähnt:
udo1toni hat geschrieben: 15. Mai 2022 12:01 Der Channel muss ebenfalls vom Typ Number sein.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

TurboMOD
Beiträge: 20
Registriert: 10. Okt 2021 08:55

Re: Negative Werte via Modbus senden

Beitrag von TurboMOD »

Irgend etwas habe ich da scheinbar immer noch übersehen. Im Log Viewer taucht immer wieder folgende Meldung auf:

Code: Alles auswählen

2022-06-11 16:37:35.523 [WARN ] [ernal.handler.ModbusDataThingHandler] - Channel rollershutter will not be updated since transformation was unsuccessful. Channel is expecting the following data types [PercentType, UpDownType, UnDefType]. Input data: number value -50 (value type 'int16' taken into account) and bool value true. Transformation: <identity>
Der Wert -50 wird hier erzeugt:

Code: Alles auswählen

events.sendCommand('ModbusDataVictronSettingsgridsetpoint_ValueasNumber', '-50');
Channel und Item hatte ich ja bereits auf den Typ Number geändert :?
Gruß
Ronny

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

Re: Negative Werte via Modbus senden

Beitrag von udo1toni »

Nein, Du hast da irgendwo Dimmer oder Rollershutter verwendet. (PercentType und UpDownType deuten auf Rollershutter hin)
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten