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

[Beantwortet] [V4.0.1] Fehlende Eingangswerte nach Logik-Änderung

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
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

[V4.0.1] Fehlende Eingangswerte nach Logik-Änderung

#1

Beitrag von starwarsfan »

Hallo miteinander,

beim Editieren der Logiken habe ich immer wieder das Problem, dass gewisse Eingangswerte nach dem Editieren der Logik den Default-Wert der Logik haben, nicht aber den Wert, welcher "von aussen" mit der Logik verbunden ist resp. den Wert, welcher vor dem Editieren an den Inputs anlag. Bspw. habe ich auf der Visu diverse Pegelsteller, um Default-Werte einzustellen. Damit sind die Ausgänge dieser Pegelsteller mit den entsprechenden Eingängen der Logiken verbunden. Editiere ich die Logik, sind die Werte der Pegelsteller an der Logik weg und werden erst wieder aktualisiert, wenn ich diese auf der Visu kurz "bewege".

Der Effekt ist, dass damit die Logik nach dem Editieren falsche Werte hat. Ich war der Annahme, dass die aktivierte Persistenz genau dafür gedacht ist aber das hat keinen Effekt. Mach' ich hier noch etwas falsch? :confusion-scratchheadyellow:
Zuletzt geändert von Parsley am Mo Aug 12, 2024 3:16 pm, insgesamt 1-mal geändert.
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)

StefanW
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 10712
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5303 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#2

Beitrag von StefanW »

Hi Yves,

Eine bearbeitete Logik wird - wie bei einer komplett neuen Logik - komplett neu angelegt und initialisiert. Bei Neuinitialisierung einer Logik weden keine "letzte bekannten Werte" aus dem Dispatcher gelesen und eingespeist, sondern erst diejenigen die künftig neu gesendet werden.

Mithin "work as designed". Persistenz gilt nur für laufende Logiken, nicht über Neuinitialisierungen hinweg.

Die Logik kann keine "Teil-Persistenz" nur für den unveränderten Teil verwalten, ist auch ein wenig viel verlangt.

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#3

Beitrag von starwarsfan »

Hallo Stefan

alles klar, danke für die Klarstellung.
StefanW hat geschrieben: So Aug 11, 2024 8:07 pm Persistenz gilt nur für laufende Logiken, nicht über Neuinitialisierungen hinweg.
Wofür ist dann die Persistenz gedacht? Nur für den Neustart des TW?
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)

Sun1453
Reactions:
Beiträge: 2217
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1979 Mal
Danksagung erhalten: 885 Mal

#4

Beitrag von Sun1453 »

Soweit ich das verstanden habe für sauberen aber auch Stromlos Neustart als Hart.
Gruß Michael

Timberwolf 950 QL #344 | Mit Internetanbindung | VPN Offen | Reboot nach Absprache | PROD Server
Timberwolf 2500 #602 | VPN offen | TEST Server | Reboot nach Absprache |

StefanW
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 10712
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5303 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#5

Beitrag von StefanW »

Die Persistenz dient bei Neustart der Logik Engine und damit beim Restart jeder Logikzelle.

Dies kommt vor bei Updates, welche die Logikengine betreffen und beim Neustart nach Herunterfahren oder Stromausfall.

Eine Perstistenz für den nicht veränderten Teil von Logikzellen ist nicht möglich, weil es dafür keine Logik gibt, welche veränderte und nicht veränderte Anteile nach Umkonfiguration einer Logik sortiert und eine Bewertung für alle denkbaren Fälle vornimmt.

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#6

Beitrag von starwarsfan »

Hallo miteinander,

basierend auf obigem Problem: Wie löse ich das nun sinnvoll bei so Sachen, welche sich eben nicht ständig ändern? Ich habe viele verschiedene Inputwerte wie bspw. all die Reed-Status der Fenster und Türen. Wie kriege ich es hin, bei einer Änderung der Logik nicht durch das ganze Haus laufen und alle Fenster einmal öffnen zu müssen? :think:
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)
Benutzeravatar

jensgulow
Reactions:
Beiträge: 474
Registriert: Fr Apr 19, 2019 4:37 pm
Wohnort: Leipzig
Hat sich bedankt: 75 Mal
Danksagung erhalten: 206 Mal

#7

Beitrag von jensgulow »

Also ich habe für solche Werte jeweils einen "Intervallsender" dann bekommen die neu initialisierten Logiken zumindest nach Ablauf der Intervallzeit den letzten Wert wieder mit (in dem Falle hier die Präsenzmeldung)

Code: Alles auswählen

/**
 * New custom logic
 *
 * 
 */

{
  "_Meta": { // Optional
    "Description": "",
    "Version": "1.00",
    "Icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48IS0tIFVwbG9hZGVkIHRvOiBTVkcgUmVwbywgd3d3LnN2Z3JlcG8uY29tLCBHZW5lcmF0b3I6IFNWRyBSZXBvIE1peGVyIFRvb2xzIC0tPg0KPHN2ZyB3aWR0aD0iODAwcHgiIGhlaWdodD0iODAwcHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4NCjxwYXRoIGQ9Ik01IDkuNzc3NDZWMTYuMkM1IDE3Ljg4MDIgNSAxOC43MjAzIDUuMzI2OTggMTkuMzYyQzUuNjE0NiAxOS45MjY1IDYuMDczNTQgMjAuMzg1NCA2LjYzODAzIDIwLjY3M0M2Ljc4ODk0IDIwLjc0OTkgNi45NTA4MiAyMC44MDg3IDcuMTMyMDIgMjAuODUzN00yMSAxMkwxNS41NjY4IDUuOTYzOTlDMTQuMzMxMSA0LjU5MTIyIDEzLjcxMzMgMy45MDQ4NCAxMi45ODU2IDMuNjUxNDRDMTIuMzQ2NiAzLjQyODg4IDExLjY1MSAzLjQyODkzIDExLjAxMTkgMy42NTE1OUMxMC4yODQzIDMuOTA1MDkgOS42NjY2MSA0LjU5MTU3IDguNDMxMTQgNS45NjQ1MkwzIDEyTTE5IDUuMDAwMDJWMTYuMkMxOSAxNy44ODAyIDE5IDE4LjcyMDMgMTguNjczIDE5LjM2MkMxOC4zODU0IDE5LjkyNjUgMTcuOTI2NSAyMC4zODU0IDE3LjM2MiAyMC42NzNDMTcuMjExMSAyMC43NDk5IDE3LjA0OTIgMjAuODA4NyAxNi44NjggMjAuODUzN003LjEzMjAyIDIwLjg1MzdDNy42NTAxNyAxOC42NDQ4IDkuNjMzMDEgMTcgMTIgMTdDMTQuMzY3IDE3IDE2LjM0OTggMTguNjQ0OCAxNi44NjggMjAuODUzN003LjEzMjAyIDIwLjg1MzdDNy43MjEzMyAyMSA4LjUxNDk1IDIxIDkuOCAyMUgxNC4yQzE1LjQ4NSAyMSAxNi4yNzg3IDIxIDE2Ljg2OCAyMC44NTM3TTE0IDEyQzE0IDEzLjEwNDYgMTMuMTA0NiAxNCAxMiAxNEMxMC44OTU0IDE0IDEwIDEzLjEwNDYgMTAgMTJDMTAgMTAuODk1NCAxMC44OTU0IDEwIDEyIDEwQzEzLjEwNDYgMTAgMTQgMTAuODk1NCAxNCAxMloiIHN0cm9rZT0iIzAwMDAwMCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4NCjwvc3ZnPg=="
  },
  "Level":[
    ["$Run","bool",true],
    ["$Select","integer",0],
    ["$Val","bool",false],
    ["$Clk","bool",false],
    ["$Clk_Val","bool",false],
    ["$Period","float",300],
    ["$VAR<Inhibit?>","bool",false]
  ],
  "Module": [
    ["Break",["$VAR<Inhibit?>"]],
    ["Clocksignal","$Run","$Clk","$Period"],
    ["Multiplexer",["$Val","$Val"],"$Clk_Val","$Select"]
  ],
  "Input": [
    ["Eingang","Eingangswert","$Val","a"],
    ["Intervall in Sekunden","Zeit [s] zwischen Senden (standard 300 Sekunden, 5 Minuten)","$Period","c"],
    ["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
  ],
  "Output": [
    ["Ausgang","Per Intervall gesendeter Ausgangswert","$Clk_Val","ct"]
  ]
}
Viele Grüße

Jens

_____________________________________________________________________
TWS 2600#394 , TWS 3500L#1051, TWS 3500XL#1691 VPN offen, Reboot erlaubt
genutzt? -> TWS, KNX, 1-wire, MQTT, MODBUS, Http-REST-API, IFTTT, Enocean, Amazon Alexa
Benutzeravatar

Ersteller
starwarsfan
Reactions:
Beiträge: 1395
Registriert: Mi Okt 10, 2018 2:39 pm
Hat sich bedankt: 863 Mal
Danksagung erhalten: 1199 Mal

#8

Beitrag von starwarsfan »

Hallo Jens
jensgulow hat geschrieben: Mo Aug 12, 2024 6:17 pm Also ich habe für solche Werte jeweils einen "Intervallsender" dann bekommen die neu initialisierten Logiken zumindest nach Ablauf der Intervallzeit den letzten Wert wieder mit (in dem Falle hier die Präsenzmeldung)
Danke für die Idee, das werde ich mir mal genauer anschauen. :handgestures-thumbupright:
Kind regards,
Yves

TWS 2500 ID:159 / TWS 3500 ID:618 / TWS 3500 ID:1653 + PBM ID:401 / ProxMox / 1-Wire / iButtons / Edomi (LXC / Docker) / evcc / ControlPro
(TW-VPN jeweils offen, Reboot nach Rücksprache)

Robert_Mini
Reactions:
Beiträge: 3903
Registriert: So Aug 12, 2018 8:44 am
Hat sich bedankt: 1263 Mal
Danksagung erhalten: 2213 Mal

#9

Beitrag von Robert_Mini »

starwarsfan hat geschrieben: Mo Aug 12, 2024 6:01 pm Hallo miteinander,

basierend auf obigem Problem: Wie löse ich das nun sinnvoll bei so Sachen, welche sich eben nicht ständig ändern? Ich habe viele verschiedene Inputwerte wie bspw. all die Reed-Status der Fenster und Türen. Wie kriege ich es hin, bei einer Änderung der Logik nicht durch das ganze Haus laufen und alle Fenster einmal öffnen zu müssen? :think:
Ich setzte die Werte der Logik im DokMode oder setze den Default auf den aktuellen Wert, falls ich mehrfach editiere.

Damit komm ich gut zurecht, auch wenn ich mir oft ein Read von Dispatcher gewünscht hätte. Verstehe aber inzwischen auch, dass dies problematisch ist, weil es Effekte wie Reihenfolgeeinfuss etc. gibt.

Lg
Robert
Timberwolf Server 2500 / #117 (VPN offen + reboot nach Rückfrage) / zusätzlich: 3500M/#935, 3500L/#1297

StefanW
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 10712
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5303 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#10

Beitrag von StefanW »

Hi Robert,

richtig, der Reihenfolgenfluss ist das eine und womöglich auch der zeitliche Abstand das andere.

Man bräuchte also eine Replayfunktion, welche über den Dispatcher einen erneuten Versand anstößt (nur an die Logik oder an alle Verknüpfungen) diese in der vorherigen Réihenfolge abspielt. Problem sind Zeitfunktionen und welche Spuren solche manuellen Replays dann in Zeitserien, Protokollen usw. spielen.

ist alles nicht ganz einfach zu beantworten, aber auch nicht unmöglich. Wir wollen auch die Logik massiv verbessern und für Anfänger zugänglicher machen, da sind wir schon beschäftigt, aber eine solche Funktion hätte durchaus was, aber eben nicht trivial.

lg

Stefan
Stefan Werner
Product Owner für Timberwolf Server, 1-Wire und BlitzART
Bitte WIKI lesen. Allg. Support nur im Forum. Bitte keine PN
Zu Preisen, Lizenzen, Garantie, HW-Defekt an service at elabnet dot de

Link zu Impressum und Datenschutzerklärung oben.
Antworten

Zurück zu „Logikengine & Logik-Editor“