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

custom Logik : Wenn - Dann

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
Robosoc
Reactions:
Beiträge: 1908
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 643 Mal
Danksagung erhalten: 797 Mal

custom Logik : Wenn - Dann

#1

Beitrag von Robosoc »

Moin,
ich stehe gerade voll auf dem Schlauch und brauch mal einen Gedankenanstoß...

Welchen Baustein würdet Ihr nutzen um in einer Custom-Logik Folgendes zu realisieren?

Wenn Variable (bool) = false dann Variable (Integer) = 0.

Ich würde das jetzt vermutlich über einen Multiplexer lösen, aber habe das Gefühl es geht viel einfacher...nur wie :think:
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Matze76
Reactions:
Beiträge: 315
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 287 Mal
Danksagung erhalten: 195 Mal

#2

Beitrag von Matze76 »

Moin,

z. B. eine AND-Logik mit einem Eingang und ein Ausgangs-Mapping:
Eingang: bool
Ausgang: Function "Mapping", Mapping for false = 0
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Robosoc
Reactions:
Beiträge: 1908
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 643 Mal
Danksagung erhalten: 797 Mal

#3

Beitrag von Robosoc »

Danke für die schnelle Antwort Matze!

Da ich nicht weiß, wie man im JSON Costum-Code Mapping in einer AND-Logik einstellt, habe ich eine simple AND Logik im LE angelegt, ein Mapping eingestellt und mir den Code angeschaut. Das Mapping wird - so scheint es mir - ebenfalls über einen Multiplexer realisiert. Dann lag ich wohl doch gar nicht so falsch.

Code: Alles auswählen

{
    "levels": [
        "$VAR<In>0",
        "$Out",
        "$OutLE-FUNCTION-99425.67521116465-1",
        "$OutLE-FUNCTION-99425.67521116465-0",
        "LE-OUTPUT-1"
    ],
    "modules": [
        [
            "Break",
            []
        ],
        [
            "And",
            [
                "$VAR<In>0"
            ],
            "$Out"
        ],
        [
            "Multiplexer",
            [
                "$OutLE-FUNCTION-99425.67521116465-1",
                "$OutLE-FUNCTION-99425.67521116465-0"
            ],
            "LE-OUTPUT-1",
            "$Out"
        ]
    ],
    "inputPorts": [
        {
            "name": "Input",
            "description": "IN",
            "mnemonic": "$VAR<In>0-LE-INPUT-0",
            "triggerType": "c",
            "type": "boolean",
            "optional": false,
            "multiple": true
        }
    ],
    "outputPorts": [
        {
            "name": "Output",
            "description": "OUT",
            "mnemonic": "LE-OUTPUT-1",
            "triggerType": "c",
            "type": "float",
            "optional": false,
            "multiple": false
        }
    ]
}
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK

Matze76
Reactions:
Beiträge: 315
Registriert: Mo Sep 24, 2018 9:59 am
Hat sich bedankt: 287 Mal
Danksagung erhalten: 195 Mal

#4

Beitrag von Matze76 »

Ach, sorry, ich hatte das "custom" überlesen. Aber wenn es dich trotzdem weitergebracht hat ist ja gut ;)
Gruß
Matthias

TWS 2500 ID:110 + PBM, VPN offen, Reboot nach Rücksprache

Ersteller
Robosoc
Reactions:
Beiträge: 1908
Registriert: Di Okt 09, 2018 9:26 am
Hat sich bedankt: 643 Mal
Danksagung erhalten: 797 Mal

#5

Beitrag von Robosoc »

Also müsste folgendes zu meinem gewünschten Ergebnis führen, oder?

Ziel 1:
Wenn $Select (Typ bool) = false dann $Out (Typ Integer) = 0, sonst nichts ändern

Vorschlag 1:

Code: Alles auswählen

["Multiplexer",[0,"$Unused"],"$Out","$Select"]

Wenn das stimmt, wäre das eventuell was für die Knowledge Base.

Und dann hätte ich gleich noch eine Frage hinterher:
Kann man mit dem Multiplexer auch gleichzeitig zwei Variablen verscheidenen Typs schalten:

Ziel 2:
Wenn $Select (Typ bool) = false dann [$Out_i (Typ Integer) = 0 UND $Out_B (Typ bool) = false ], sonst nichts ändern

Vorschlag 2:

Code: Alles auswählen

["Multiplexer",[0,"$Unused"],["$Out_i","$Out_b"],"$Select"]
Zuletzt geändert von Robosoc am Sa Sep 14, 2019 10:23 am, insgesamt 1-mal geändert.
VG, Sven - 3500 XL ID:1369 | 3500 L ID:1355, VPN offen, Reboot OK
Antworten

Zurück zu „Logikengine & Logik-Editor“