negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Homer-S
Beiträge: 68
Registriert: 25. Dez 2017 21:04
Answers: 0

negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von Homer-S »

Hallo,
ich habe es mittlerweile geschafft auf 3.4.3 umzustellen aber am meisten Probleme macht noch die Daten der PV Anlage.

Ich bekomme über das SMA Smartmeter Binding ab und zu negative oder sehr sehr hohe Werte.

Den Channels des SMA SM Things habe ich nun Items zugewiesen und versucht mittels JS Script die Werte abzufangen.
Die Transformation kann ich im Channel (vordefiniert vom Thing) nicht eintragen.
Bild
Bild

Leider bekomme ich immer eine Fehlermeldung:

Code: Alles auswählen

Could not transform state '22147.228515625' with function 'sma-kein-negativ.js' and format '%s'
Das ist der Inhalt des JS Scripts.

Kann ich das nur über eine Rule abfangen?

Code: Alles auswählen

(function(inputData) {
    if(inputData < 0) return "0";
    if(inputData > 90000) break;
    return parseFloat(inputData) ;
})(input)
Danke
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Openhab 4.1.2 in einem Docker Container

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

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von udo1toni »

Grundsätzlich sollte das schon funktionieren.
Allerdings ist das auch nur Rumgedoktor...
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Homer-S
Beiträge: 68
Registriert: 25. Dez 2017 21:04
Answers: 0

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von Homer-S »

udo1toni hat geschrieben: 4. Mai 2023 22:48 Grundsätzlich sollte das schon funktionieren.
Allerdings ist das auch nur Rumgedoktor...
Ich weiß, dass ich hier nur einen Workaround anstrebe, aber warum da negative oder wahnsinnig hohe Werte geliefert werden, weiß ich nicht.
Das war schon mit dem 2.5 Binding so, als ein Firmwareupdate von SMA auf den WR eingespielt wurde. Liegt sicher schon wieder 2 jahre zurück.

Ich hatte gehofft, dass im aktuellen Binding der fehler ausgemärzt ist.

Wie würdest du es machen?
Openhab 4.1.2 in einem Docker Container

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

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von udo1toni »

Na ja, im Zweifel den Entwickler fragen. Es ist ja nicht zwingend so, dass alle Bindings weiterentwickelt wurden, nur weil sie jetzt unter openHAB3 laufen, die wurden lediglich gegen andere (neuere) Bibliotheken gebaut.

Und wenn das Problem seit einem Firmware Update des SMA auftritt, wäre auch SMA ein guter Ansprechpartner, denn das deutet ja erst mal auf ein Problem im Smartmeter hin.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Homer-S
Beiträge: 68
Registriert: 25. Dez 2017 21:04
Answers: 0

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von Homer-S »

Oder kann ich das einfach mit dem Symantic Property Wert für Minimum und Maximum setzen?
Openhab 4.1.2 in einem Docker Container

Homer-S
Beiträge: 68
Registriert: 25. Dez 2017 21:04
Answers: 0

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von Homer-S »

udo1toni hat geschrieben: 5. Mai 2023 07:47 Na ja, im Zweifel den Entwickler fragen. Es ist ja nicht zwingend so, dass alle Bindings weiterentwickelt wurden, nur weil sie jetzt unter openHAB3 laufen, die wurden lediglich gegen andere (neuere) Bibliotheken gebaut.

Und wenn das Problem seit einem Firmware Update des SMA auftritt, wäre auch SMA ein guter Ansprechpartner, denn das deutet ja erst mal auf ein Problem im Smartmeter hin.
Zu dem ersteren gibt/gab es einen Githubeintrag mit ganz viel Beiträgen ...

Bei SMA hab ich es versuch, telefonisch sogar. Lass es mich so ausdrücken, wenn ich nicht schon einen SMA WR und Homemanager hätte, ich würde zu einer anderen Firma wechseln ...
Openhab 4.1.2 in einem Docker Container

Homer-S
Beiträge: 68
Registriert: 25. Dez 2017 21:04
Answers: 0

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von Homer-S »

Homer-S hat geschrieben: 5. Mai 2023 07:51 Oder kann ich das einfach mit dem Symantic Property Wert für Minimum und Maximum setzen?
OK, das klappt nicht!
Openhab 4.1.2 in einem Docker Container

Homer-S
Beiträge: 68
Registriert: 25. Dez 2017 21:04
Answers: 0

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von Homer-S »

Im JS war ein Fehler drin, aber leider bekomm ich den gleichen Fehler noch in den Logs.
Ich hatte gehofft das so zu realisieren und nicht wieder wie bei OH2.5 rules zu "vergewaltigen" um die falschen Werte ab zu fangen.
Openhab 4.1.2 in einem Docker Container

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

Re: negative item Werte mit JS transformieren (SMA Smartmeter Binding)

Beitrag von udo1toni »

Na ja, was heißt vergewaltigen... Grundsätzlich ist die Verwendung von Rules für so etwas legitim.
Aber natürlich sollte das auch mit JavaScript funktionieren. Was mir am code auffällt, ist der break. Ich könnte mir vorstellen, dass openHAB nicht begeistert ist, wenn der Aufruf keinen gültigen Rückgabewert liefert. Auf den ersten Blick sehe ich sonst keinen Fehler, aber ich arbeite nicht oft mit JavaScript, das will also nichts heißen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Antworten