bin wieder zurück. Habe jetzt lange daran herumgebastelt bis es letztendlich lief. Ich habe einen Code hier vom Forum etwas abändern müssen aber es scheint richtig zu zählen.
Ich hatte und habe immer noch Verständnisprobleme mit der DSL Syntax.
das ist der Code welcher bei mir funktioniert.
Code: Alles auswählen
var Number Letzter_abgelesener_Zaehlerstand = 28177.429
var Number Einheit = 0.01
//var Number Gaspreis_Monat = 200.1 // € pro Jahr
var Number Gaspreis_Tag = 54.82191780821918 // ct pro Tag
var Number Gaspreis_kWh = 12.80 // ct pro kWh
var Number Gaspreis_zZahl = 0.9244 // z Zahl
var Number Gaspreis_Brennwert = 11.495 //Brennwert
var Faktor = Gaspreis_zZahl * Gaspreis_Brennwert * Gaspreis_kWh
var Umrechnen = Gaspreis_zZahl * Gaspreis_Brennwert
if (Gaszaehler_Stand.state != "NULL" && Gaszaehler_Stand.state < Letzter_abgelesener_Zaehlerstand) {
postUpdate(Gaszaehler_Stand, (Letzter_abgelesener_Zaehlerstand)) }
postUpdate(Gaszaehler_Heute, (Gaszaehler_Heute.state as DecimalType + Einheit))
postUpdate(Gaszaehler_Stand, (Gaszaehler_Stand.state as DecimalType + Einheit))
postUpdate(Gaskosten_Heute, Gaszaehler_Heute.state as DecimalType * Faktor / 100)
postUpdate(Gas_Heute, Gaszaehler_Heute.state as DecimalType * Umrechnen)
Alleine die Zeile var Number dummy = 0 erzeugt bei mir schon ERROR warum.
ich verstehe das nicht, denn im dem Code für den Gaszaehler sind doch etliche Variablen angelegt worden.2024-04-07 17:38:01.249 [WARN ] [.internal.OpenhabGraalJSScriptEngine] - Failed to retrieve script script dependency listener from engine bindings. Script dependency tracking will be disabled.
2024-04-07 17:38:08.462 [ERROR] [b.automation.script.javascript.stack] - Failed to execute script:
org.graalvm.polyglot.PolyglotException: SyntaxError: <eval>:1:11 Expected ; but found dummy
var Number dummy = 0
Wiso funktioniert die Zeile nicht.
Ich hatte mir so etwas ausgedacht.
Code: Alles auswählen
var Number dummy = 0
dummy = Gaskosten_Heute.state
postUpdate(Gaskosten_bis_dato, Gaskosten_Heute.state + (dummy))
Ich hatte noch folgendes im Sinn
postUpdate(Gaskosten-bis-dato, (Gaskosten_bis_dato.state) + (Gaskosten-Heute.state))
kommen aber Seiteneffekte und ist wahrscheinlich Blödsinn. In Bascom funktioniert so etwas.
Hast Du einen Rat?
Gruß, Harald