Seite 1 von 1

WG Logikprozessor -> TWS Logikengine

Verfasst: Mi Mai 22, 2019 2:56 pm
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?

Re: WG Logikprozessor -> TWS Logikengine

Verfasst: Mi Mai 22, 2019 5:04 pm
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.

Re: WG Logikprozessor -> TWS Logikengine

Verfasst: Mi Mai 22, 2019 6:12 pm
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

Re: WG Logikprozessor -> TWS Logikengine

Verfasst: Mi Mai 22, 2019 10:33 pm
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 ....

Re: WG Logikprozessor -> TWS Logikengine

Verfasst: Do Mai 23, 2019 11:36 am
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.

Re: WG Logikprozessor -> TWS Logikengine

Verfasst: Do Mai 23, 2019 2:31 pm
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

Re: WG Logikprozessor -> TWS Logikengine

Verfasst: Do Mai 23, 2019 4:08 pm
von jensgulow
Okay, dann eben per Hand ;-)