Seite 1 von 1

"Unerwarteter Fehler" bei Custom Logik (war falsche Variablendeklaration)

Verfasst: Di Feb 11, 2020 9:53 pm
von simon2k
Hallo zusammen,

habe endlich ein wenig Zeit gefunden und mich ebenfalls an einer Custom Logik versucht.

Die Anforderung an die Logik ist eigentlich recht simpel:
Meine 3 Phasen des Kochfeldes sind an einem Strommessaktor angeschlossen. Wird nun an einer Phase Leistung gefordert, will ich ein Bit für "Kochfeld aktiv" generieren.

Hier meine Logik dazu:

Code: Alles auswählen

/**
 * New custom logic
 *
 * 
 */

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00",
    "Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
  },
  "Input": [
   ["IA1","Analogwert 1","$IA1","c"],
   ["IA2","Analogwert 2", "$IA2","c"],
   ["IA3","Analogwert 3", "$IA3","c"]
  ],
  "Output": [
  ["Out","Schaltstatus","$Out","a"]
  ],
  "Level": [
   ["$IA1","float",0],
   ["$SW1","$float",20],
   ["$IA2","float",0],
   ["$SW2","$float",20],
   ["$IA3","float",0],
   ["$SW3","$float",20],
   ["$L1_eingeschaltet","$bool",false],
   ["$L2_eingeschaltet","$bool",false],
   ["$L3_eingeschaltet","$bool",false],
   ["$Out","bool",false]
  ],
  "Module": [
  ["Comparator","$IA1","$L1_eingeschaltet","$SW1"],
  ["Comparator","$IA2","$L2_eingeschaltet","$SW2"],
  ["Comparator","$IA3","$L3_eingeschaltet","$SW3"],
  ["Or",["$L1_eingeschaltet","$L2_eingeschaltet","$L3_eingeschaltet"],"$Out"]
  ]
}
Leider kommt beim Speichern der Logik immer ein "unerwarteter Fehler" aber ohne weitere Information! :roll:
Ist das korrekt, dass bei der Variablendeklaration unter "Level" bei Ein- und Ausgängen kein $ vor den Datentyp gestellt wird?
So stehts auf jeden Fall mal im Codebeispiel in der KB?
Könnt ihr mir vielleicht helfen das Problem zu finden?

Dankeschön!

Gruß,
Simon

Re: "Unerwarteter Fehler" bei Custom Logik

Verfasst: Di Feb 11, 2020 10:06 pm
von simon2k
Ich habs gefunden!
Es war die Variablendeklaration!
Der Datentyp muss immer ohne "$" angegeben werden! :doh:
EIne qualifizierte Fehlermeldung wäre an dieser Stelle natürlich auch nicht ganz schlecht gewesen! :lol:
Bitte korrigieren unter app.php/kb/viewarticle?a=115#Kopiervorlage

Gruß,
Simon

Re: "Unerwarteter Fehler" bei Custom Logik

Verfasst: Di Feb 11, 2020 10:53 pm
von Robert_Mini
Danke - korrigiert!

Lg
Robert

Re: "Unerwarteter Fehler" bei Custom Logik

Verfasst: Mi Feb 12, 2020 12:03 am
von Robert_Mini
Nachtrag: das ist generell ein giftiger Fehler mit den $-Zeichen.
Insbesondere Variablen-Name ohne $ in einem Module/Input/Output...

Was mit grad noch einfällt:
Für deinen Fall genügt eine OR-Logik + Eingangsmodifizierer Schwellwert Über - fertig!

Dennoch gut mal an so einem Bsp. an Custom Logiken heranzugehen!
Die Fehlersuche ist da noch überschaubar - im Problemfall ggf. zeilenweise auskommentieren, bis der Fehler weg ist.

Lg
Robert

Re: "Unerwarteter Fehler" bei Custom Logik

Verfasst: Mi Feb 12, 2020 5:39 am
von gbglace
Nichts gegen den positiven Übungseffekt am TES-LE. Aber dennoch mal anders gefragt, warum dafür eine Logik im TWS? Die Strommessaktoren haben doch eigentlich alle auch Schwellwertschalter oder hast die schon für anderes in Verwendung? Einfach die drei Kanäle mit Schwellwert abfragen in ein einfaches ODER, welches womöglich auch noch im Aktor selbst abbildbar ist und schon ist die Sache KNX-only fertig.

Re: "Unerwarteter Fehler" bei Custom Logik

Verfasst: Mi Feb 12, 2020 9:24 am
von simon2k
Danke an alle!
KNX only ist natürlich immer die Lösung der Wahl wenn es möglich ist! Aufgrund meiner Interesse am Logik Editor habe ich darüber aber nicht einmal nachgedacht! Werde es deshalb umstellen und dieses Experiment als Übung abhaken. :-D
Der Tipp mit ODER und die Eingänge mit Schwellwert ist auch nicht schlecht und machts auch einfacher.

Gruß,
Simon

Re: "Unerwarteter Fehler" bei Custom Logik

Verfasst: Mi Feb 12, 2020 12:08 pm
von Robert_Mini
simon2k hat geschrieben: Mi Feb 12, 2020 9:24 am Der Tipp mit ODER und die Eingänge mit Schwellwert ist auch nicht schlecht und machts auch einfacher.
Das muss man ins Gefühl bekommen.
Vieles geht mit den richtigen Grundbausteinen sehr einfach.
Zb. Bettiebsstundenzähler + Schwellwert Helligkeit => Sonnenstunden pro Tag o.ä.

Lg
Robert