Seite 1 von 1

[V4.1] Keine Variablen mit Ziffern im Name möglich? (Logik lässt sich nicht speichern)

Verfasst: Do Nov 21, 2024 12:00 pm
von fuzzi
Ich würde mich hier mal dranhängen - meine Software ist mittlerweile V4.1. Beim Erstellen einer Custom-Logik sehe ich ein ähnliches Problem.

Hier die Logik:

Code: Alles auswählen

/*=====================================================================
Auswertung von Zählerwerten (vom Shelly in Wh) und Umrechnung zu kWh
- Verbrauch für Auto laden über definierte Steckdose in der Garage
======================================================================*/
{
  "Level": [
    ["$Zaehlerstand_Input","float",0],
    ["$ZaehlerJahr","float",0],
    ["$ZaehlerGes","float",0],
    ["$Gesamtverbrauch","float",0],
    ["$Delta_roh","float",0.0],
    ["$Delta","float",0.0],
    ["$Konstn1","float",-1.0],
    ["$Konst1","float",1.0],
    ["$Konst0","float",0.0],
    ["$Faktor","float",0.001],
    ["$KonstLarge","float",1000000.0],
    ["$KonstTrue","bool",true],
    ["$ResetJahr","bool",false],
    ["$StartZeitJahr","string","3 5 0 1 1 *"]
  ],
  "Module": [   
	// immer, wenn ein neuer Gesamtverbrauch kommt, delta in Wh ausrechnen, neuen Stand merken
	["Polynomial","$Konst1","$Delta_roh",["$Zaehlerstand_Input", "-$Gesamtverbrauch"]],
	["Polynomial","$Delta_roh","$Delta",["$Konst0", "$Konst1"]],
    	// Zaehlerstand-resets (z.b. wegen reboot, Stromausfall, ...) ignorieren
    	["Limiter","$Delta_roh","$Delta",["$Konst0", "$KonstLarge"]],
	// Jahreszaehler Zurücksetzen	
    	["Cron","$KonstTrue","$ResetJahr",0,"$StartZeitJahr"],
	["Multiplexer",["$ZaehlerJahr","$Konst0"],"$ZaehlerJahr","$ResetJahr"],
    	["Multiplexer",["$ResetJahr","$Konst0"],"$ResetJahr","$ResetJahr"],	
  	// neue Zaehlerstaende in kWh berechnen
	["Polynomial","$Delta","$ZaehlerJahr",["$ZaehlerJahr","$Faktor"]],
	["Polynomial","$Delta","$ZaehlerGes",["$ZaehlerGes","$Faktor"]]
  ],
  "Output": [
    ["Zählerstand Jahr","Zählerstand Jahr","$ZaehlerJahr","c"],
    ["Zählerstand Gesamt","Zählerstand Gesamt","$ZaehlerGes","c"]
  ],
  "Input": [
    ["Zählerstand gesamt Wh","Eingang Zählerstand Wh","$Zaehlerstand_Input","c"]
  ]
}
Der Logikeditor zeigt keinen Fehler an, und ich kann auf "Logik aktualisieren" gehen. Wenn ich danach versuche, die Logik zu speichern, bekomme ich aber ebenfalls eine Fehlermeldung, die sich über das "Level"-Modul zu beschweren scheint: "Level index has wrong type 6"

Über jegliche Ideen zum weiteren Debuggen bin ich dankbar....

Bild

Re: [V4.0.1] Keine Variablen mit Ziffern im Name möglich? (Logik lässt sich nicht speichern) (WD-2574)

Verfasst: Do Nov 21, 2024 2:08 pm
von SchateMuhl
entfernt. Antwort war auf einen alten Beitrag.

Re: [V4.0.1] Keine Variablen mit Ziffern im Name möglich? (Logik lässt sich nicht speichern) (WD-2574)

Verfasst: Do Nov 21, 2024 2:12 pm
von StefanW
Liebe Mods,

ich habe hier zugemacht. Bitte das Thema von Fuzzi btrennen in eigenen Thread.

Fuzzi, bitte Forenregeln beachten. Nie an einen bestehenden Thread dranhängen, insbesondere nicht wenn dieser Wochen / Monate alt ist und es dafür eine Software-Korrektur gab und mittlerweile eine andere Version genutzt wird. Das können wir nicht überblicken.

Stefan

Edit: Thread wurde mittlerweile abgetrennt

Re: [V4.1] Keine Variablen mit Ziffern im Name möglich? (Logik lässt sich nicht speichern)

Verfasst: Sa Nov 23, 2024 2:46 pm
von fuzzi
Danke fürs Abtrennen, da habe ich nicht nachgedacht. Hier noch ein schnelles Feedback zum Problem. In meiner Logik oben habe ich im Limiter-Baustein die Variable für "Val_OK" vergessen. Das führt dann zu dem beschriebenen Fehler - da wäre eine klarere Fehlermeldung, die den Benutzer nicht unbedingt auf den Level-Block schauen lässt, vielleicht angebrachter?

Viele Grüße,
Martin