KNX Data Secure Unterstützung
für KNX Logger und KNX Busmonitor

KNX Diagnose Monitor, Import des ETS Projektes deutlich beschleunigt, Suche in der Navigation
Mehr Informationen dazu hier im Forum

Insider Version 6 zur 4.5 jetzt für alle Mitglieder des Insider Clubs installierbar
Alle Infos zum Update im Timberwolf Wiki

[Problem] [V4.1] Logik Editor – "$15" Variablenname erzeugt Error

Informationen und Diskussionen über Logik-Engine und Logik-Editor
Forumsregeln
  • Denke bitte an aussagekräftige Titel und gebe dort auch die [Firmware] an. Wenn ETS oder CometVisu beteiligt sind, dann auch deren Version
  • Bitte mache vollständige Angaben zu Deinem Server, dessen ID und dem Online-Status in Deiner Signatur. Hilfreich ist oft auch die Beschreibung der angeschlossener Hardware sowie die verwendeten Protokolle
  • Beschreibe Dein Projekt und Dein Problem bitte vollständig. Achte bitte darauf, dass auf Screenshots die Statusleiste sichtbar ist
  • Bitte sei stets freundlich und wohlwollend, bleibe beim Thema und unterschreibe mit deinem Vornamen. Bitte lese alle Regeln, die Du hier findest: https://wiki.timberwolf.io/Forenregeln
Antworten

Ersteller
hpmau
Reactions:
Beiträge: 27
Registriert: Mi Aug 03, 2022 4:20 pm
Hat sich bedankt: 2 Mal
Danksagung erhalten: 2 Mal

[V4.1] Logik Editor – "$15" Variablenname erzeugt Error

#1

Beitrag von hpmau »

Ich habe ein Problem mit einem Variablennamen das ich nicht verstehe. Ich konnte das Problem im unteren, kleinen Logik Beispiel reproduzieren.
Wenn ich in der unteren Logik die Variable nicht "$_15", sondern "$15" benenne (ohne Underscore), dann bekomme ich beim Versuch die Logik zu speichern einen Fehler. Die Variable "$4" funktioniert aber ohne Underscore. Ich hatte die ursprüngliche Logik schon vor der Version 4.1 erstellt, und da hatte "$15" noch funktioniert, erst jetzt wo ich Anpassungen machen wollte ging es nicht mehr...

Gruss, Hanspeter

Mit dieser Logik kann man das Verhalten reproduzieren:
/**
 * New custom logic
 *
 * 
 */

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00"
  },
  "Input": [
  ],
  "Output": [
  ],
  "Level": [
      ["$Hour","integer",0],
      ["$Nach4Uhr","bool",false],
      ["$Nach15Uhr","bool",false],

      ["$4","integer",4],
      ["$_15","integer",15]

  ],
  "Module": [
      
      ["Comparator","-$Hour","-$Nach4Uhr","-$4"],
      ["Comparator","-$Hour","-$Nach15Uhr","-$_15"]

  ]
}
Dies ist der Fehler den ich bekomme wenn ich die Variable "$15" benenne:
Bild
Timberwolf 3500 M (ID 1651), ETS 5 / VPN offen, reboot nach Absprache

gbglace
Reactions:
Beiträge: 4088
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1415 Mal
Danksagung erhalten: 1901 Mal

#2

Beitrag von gbglace »

Den Grund dieses Fehlers kann ich Dir nicht erklären, aber aus der Erfahrung bezgl. einiger anderer Programmierungen in diversen Systemen ist es meist kein guter Einfall eine Variable einfach nur aus Zahlen zu bezeichnen.

Bei mir wäre das wahrscheinlich auf $T04 und $T15 hinausgelaufen. Dies vermeidet auch das man andere Variablen baut deren vollständiger Name schon ein Teilstring der ersten Zeichen der anderen ist. bei Dir womöglich mal eine Variable $_1 oder $1.
Grüße Göran
#1 Timberwolf 2600 Velvet Red TWS #225 / VPN aktiv / Reboot OK
#2 Timberwolf 2600 Organic Silver TWS #438 / VPN aktiv / Reboot OK
#PV 43,2 kWh Akku; 3x VE MP2 5000; 6,7 kWp > 18 Panele an 4x HM1500 + 1 HM800 WR; Open-DTU
Antworten

Zurück zu „Logikengine & Logik-Editor“