Closed agricolaXIII closed 1 year ago
Hallo,
Der Datentyp DecimalType besitzt immernoch den Konstruktor mit double bzw. Number (auch im aktuellen main). Dieser wird auch von JRule direkt aufgerufen, das es dabei zu einer NoSuchMethodException kann eigentlich nicht passieren?
Mir ist nicht ganz klar wobei der Fehler kommt? Nur in einem Test wo du die zwei genannten Bibliotheken einbindest? Woher kommt denn dieses Objekt? "_pvLeistgGesKWh"
Gruß robert
Hallo, Danke für die schnelle Antwort. Das Item, das ich mit dem Command setzen will, hat kein übergeordnetes Thing. Es ist für eine Photovoltaik Anlage und wurde bis vor ca. einem Jahr durch einen Datenbank-Triggern belegt, damit hatte ich das OH-Diagramm dazu. Das Item in OH war Null, deshalb der Schnipsel in der vorigen Mail. Damit wird der Wert ins System übertragen und ich kann je nach Leistung der PV-Anlage Verbraucher (Entfeuchter und Heizlüfter) zu- und abschalten. Das funktionierte bis vor dem Update auf OH 4.0.x problemlos, nach dem Update gar nicht mehr. Der Fehler wird im System und auch in der Entwicklungsumgebung (NetBeans 13) geworfen. Ich habe den Wert an setCommand mit allen möglichen Datentypen (rs.getint(), rs.getLong(), rs.getDouble(), rs.getFloat()) übergeben, jeweils mit der Fehlermeldung. Ich habe auch BigDecimal probiert, aber das scheiterte schon beim Kompilieren der Funktion- es wurde keine Class-Datei erzeugt. Das Problem scheint an der Art des Items zu liegen, vielleicht weil es kein übergeordnetes Thing hat.? Viele GrüßeJens Hirsch Am 20.08.23, 21:17 schrieb "Robert D." @.***>:
Hallo, Der Datentyp DecimalType besitzt immernoch den Konstruktor mit double bzw. Number (auch im aktuellen main). Dieser wird auch von JRule direkt aufgerufen, das es dabei zu einer NoSuchMethodException kann eigentlich nicht passieren? Mir ist nicht ganz klar wobei der Fehler kommt? Nur in einem Test wo du die zwei genannten Bibliotheken einbindest? Woher kommt denn dieses Objekt? "_pvLeistgGesKWh" Gruß robert —Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>
Hallo,
es funktioniert jetzt, nachdem ich alles komplett gelöscht, OpenHab neu gestartet und die Java- Quelltexte neu übertragen habe. Irgendwo hing scheinbar eine alte Stelle oder es gab Probleme mit dem Wechsel von Java 11 auf 17 ??? Danke für die Antworten
:-) Jens
Hallo, die OpenHab-Ergänzung gefällt mir wirklich gut- ist flexibler als die integrierte DSL und enthält endlich alle Java-Features :-) Bitte nicht verübeln, wenn ich deutsch schreibe, ich denke, da kommt mein Anliegen klarer rüber. Beim Umstieg auf OpenHab 4 gibt es offensichtlich ein Problem, was vorher problemlos lief, passt jetzt nicht mehr, der Code
wirft jetzt folgende Exception:
_Testcase: testGetPVDaten(org.openhab.automation.jrule.rules.user.Rules4PVTest): Caused an ERROR 'void org.openhab.core.library.types.DecimalType.(double)'
java.lang.NoSuchMethodError: 'void org.openhab.core.library.types.DecimalType.(double)'
at org.openhab.automation.jrule.internal.handler.JRuleEventHandler.sendCommand(JRuleEventHandler.java:129)
at org.openhab.automation.jrule.items.JRuleNumberItem.sendCommand(JRuleNumberItem.java:36)
at org.openhab.automation.jrule.items.generated._pvLeistgGesKWh.sendCommand(pvLeistgGesKWh.java:34)
at org.openhab.automation.jrule.rules.user.Rules4PV.getPVDaten(Rules4PV.java:96)
at org.openhab.automation.jrule.rules.user.Rules4PVTest.testGetPVDaten(Rules4PVTest.java:52)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
Ich verwende folgende Librarys: org.openhab.automation.jrule-4.x.x-BETA17.jar und org.openhab.core-4.0.2.jar
Ich habe alles mögliche mit Casting auf allen möglichen Datentypen versucht, aber erfolglos. Mache ich etwas falsch oder gibt es ein Problem?
Viele Grüße Jens Hirsch