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

[FR] WG Logikprozessor -> TWS Logikengine

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
Benutzeravatar

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

WG Logikprozessor -> TWS Logikengine

#1

Beitrag von jensgulow »

Wäre es denkbar, dass ihr den meines Erachtens schon recht mächtigen Logikprozessor aus Wiregatezeiten (plugin) in die TWS Logikengine "übersetzt".

Genauer gesagt, dass die entsprechend eingetragenen Logiken in entsprechende Logiken der Logikengine am TWS überführt werden ....

Code: Alles auswählen

dim => { receive=>'2/2/9', transmit=>'2/3/9', translate => sub { return unless $input; $day ? 80 : 5; }, },
...z.b. hier wäre ja receive der input und transmit der output - translate beschreibt quasi eine custom -Logik ....


Ich frage nur, weil sicherlich einige eine ganz erquickliche anzahl an Logiken im Logikprozessor laufen haben und diese auch auf den TWS umswitchen wollen ....
Bei mit sind aktuell 175 Logiken aktiv.

Oder bleibt da nur der Weg über einen Dockercontainer für die plugin-Umgebung des WG?
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

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

#2

Beitrag von gbglace »

Schritt A Docker mit Plug-In-Container
Schritt B per Hand umziehen.

Der Logikprozessor ist ja auch nur ne Ansammlung/ Kombination von Logikbausteinen, die im LE wahrscheinlich auch alle vorhanden sind.
Und man kann sich natürlich eigene Custom-Logikbausteine im LE scripten für wiederkehrende Kombinationen, das doch wie der Logikprozessor.

Ansonsten anders gefragt welche Einzelbausteine im TWS-LE fehlen denn noch um den Funktionsumfang des Logikprozessors in einer Customlogik darzustellen?

Eine Entwicklung für Automigration wird sich niemals rechnen. Dafür ist einfach kein Potential an neuen TWS-Umsatz.
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

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

#3

Beitrag von Robert_Mini »

Hy Jens!

Sehr das ähnlich wie Göran.
Aber kannst du eine Übersicht Posten, was die Features des Logikprozessors sind?

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

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

#4

Beitrag von jensgulow »

Hallo,

ich dachte nicht daran das plugin "Logikprozessor" an sich zu "übersetzen". Ich glaube auch, dass der Logikeditor im TWS wahrscheinlich alle "Grundlogiken" implementiert hat.
Meine Frage zielte eher darauf ab, ob es - mit überschaubarem Aufwand - möglich ist die "Logikdefinitionen" im Wiregate-plugin
Beispiel:

Code: Alles auswählen

jalo_west_runter => {transmit=>['2/2/5','3/2/55'], translate=>sub{int($plugin_info{'Global_Advent'}) == 0 && plugin_info{'Global_Tiefsttemperatur'} > -6 ? 1:undef;}, debug=> 1},
jalo_west_runter_frost => {transmit=>['2/2/4','3/2/54'], translate=>sub{int($plugin_info{'Global_Advent'}) == 0 && $plugin_info{'Global_Tiefsttemperatur'} < -5 ? 1:undef;}, debug=> 1},
.... oder
sperre_jalo_willi_sued => 	{ receive=>['3/2/30'], transmit=>['3/2/39'], translate => sub { return $msg{'src'} eq "1.1.141" ?  1 : undef ;}, 											followup=>{'sperre_jalo_willi_sued_aufheben'=>7200}, debug=>1 },
quasi automatisiert in die neue textbasierte "custom logik" Version am TWS zu "übersetzen.

Beispiel:

Code: Alles auswählen

{
    "Level": [
        ["$InSet","bool",false],
        ["$InRes","bool",false],
        ["$InStat","int",0],
        ["$Out","bool",false],
        ["$KonstFalse","bool",false]
    ],
    "Module": [
        ["BinaryMultiplexer",["$InSet","$InRes"],"$InStat"],
        ["Multiplexer",["$Out","-$KonstFalse","$KonstFalse"],"$Out","$InStat"]
    ],
    "Input": [
        ["S","Eingang","$InSet","c"],
        ["R","Eingang","$InRes","c"]
    ],
    "Output": [
        ["Q","Ausgang","$Out","c"]
    ]
}
.... das oben sind wahllose Beispiele, die aktuell auch nichts miteinander zu tun haben.

Frage also: Wäre es möglich Struktur A (oben vom Wiregate-Logikprozessor) in Struktur B (unten vom TWS) zu überführen.
Ich würde mich je nach verfügbarer Zeit auch gerne mit einbringen.

Hinzugefügt nach 8 Minuten 2 Sekunden:
Hier mal die eine Logikdefinition "auseinandergenommen":

Code: Alles auswählen

jalo_west_runter => {transmit=>['2/2/5','3/2/55'], translate=>sub{int($plugin_info{'Global_Advent'}) == 0 && plugin_info{'Global_Tiefsttemperatur'} > -6 ? 1:undef;}, debug=> 1},
jalo_west_runter = Name der Logikdefinition
transmit=>['2/2/5','3/2/55'] = an diese GA wird das Ergebnis übermittelt (output)
translate=>sub{int($plugin_info{'Global_Advent'}) == 0 && plugin_info{'Global_Tiefsttemperatur'} > -6 ? 1:undef;}, = Die "Logikdefinition an sich" wenn der Wert 'Global_Advant' im Hash plugin_info gleich 0 ist und 'Global_Tiefsttemperatur' größer -6 ist, dann sende eine 1 auf output

Mir ist schon klar, dass der Logikeditor mit Objektnummern arbeitet und das hier auf GA's und Daten aus einem Hash abzielt .....

War ja auch nur eine Frage, ob prinzipiell eine "Übersetzung" dieser Definitionen automatisiert möglich wäre.

Wenn nicht, dann muss es halt per Handarbeit gehen ....
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

gurumeditation
Reactions:
Beiträge: 411
Registriert: Mo Aug 13, 2018 10:51 am
Wohnort: Hannover
Hat sich bedankt: 200 Mal
Danksagung erhalten: 273 Mal

#5

Beitrag von gurumeditation »

Was du beschreibst ist ja die von @gbglace angesprochene Automigration, die sich niemals rechnen wird.
Ich kenne mich jetzt weder mit der alten noch mit der neuen Logikdefinition / -Syntax aus, aber allgemein gesprochen ist so eine Übersetzung sehr aufwendig umzusetzen.
"Handarbeit" ist da vermutlich der schnellste Weg, wenngleich auch dieser in deinem Fall eine ganze Weile dauern wird.
--
TWS 2500 (ID=137), PBM, Wartungs-VPN=ON, Reboot bitte nur nach Absprache

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

#6

Beitrag von StefanW »

jensgulow hat geschrieben: Mi Mai 22, 2019 10:33 pmWar ja auch nur eine Frage, ob prinzipiell eine "Übersetzung" dieser Definitionen automatisiert möglich wäre.
Möglich ist alles, aber den Aufwand schätze ich auf gut ein halbes Mannjahr (wir haben an der Migration der Wiregate Einstellungen und Zeitreihen etwa 1,5 Mannjahre gearbeitet). Da muss man ja dann erstmal dafür Sorgen, dass die Objekte alle angelegt sind und so weiter.

==> Ich fürchte, dafür haben wir kein Budget. Ich denke dass es ungerecht wäre, das Budget der Kunden (und unseres) für eine Funktion zu verbrauchen, die vermutlich weniger als 1% der Kunden benötigt. Zudem würden wir zu spät kommen, bis dahin haben die Kunden das schon von Hand umgestellt.

Daher denke ich, wird der FR nicht die nötige Unterstützung bekommen um realisiert zu werden

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.
Benutzeravatar

Ersteller
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 »

Okay, dann eben per Hand ;-)
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
Antworten

Zurück zu „Logikengine & Logik-Editor“