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

[TOP TIPP] Logik Codeschloss / mit Taster

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

Ersteller
danik
Reactions:
Beiträge: 415
Registriert: Mo Sep 10, 2018 8:40 pm
Hat sich bedankt: 293 Mal
Danksagung erhalten: 278 Mal

Logik Codeschloss / mit Taster

#1

Beitrag von danik »

Hi

Hat schon jemand eine Logik für ein Codeschloss (mittels Taster) realisiert (oder Ansätze dazu)?

Ich habe einen Taster mit 6 Tasten und würde da gerne bei Eingabe der richtigen 4-stelligen Kombination eine Aktion auslösen.

Gruss
Dani
TW 3500L (#882) + TW 950Q (#321, im Moment inaktiv), VPN offen, Reboot nach Rücksprache

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

#2

Beitrag von Sun1453 »

Könnte man mit mehreren UND Gattern machen. Das könnte man dann auch in einer Custom Logik unterbringen, damit man nur ein Modul hat.
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 |

S. Kolbinger
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 560 Mal

#3

Beitrag von S. Kolbinger »

Hallo Dani,
danik hat geschrieben: Di Okt 15, 2019 10:35 pm Ich habe einen Taster mit 6 Tasten und würde da gerne bei Eingabe der richtigen 4-stelligen Kombination eine Aktion auslösen.
wie werden denn die Tastendrücke gesendet?
Ein Objekt mit 6 möglichen Werten, oder 6 boolsche Objekte?
Gruß,
Stefan K.

Ersteller
danik
Reactions:
Beiträge: 415
Registriert: Mo Sep 10, 2018 8:40 pm
Hat sich bedankt: 293 Mal
Danksagung erhalten: 278 Mal

#4

Beitrag von danik »

S. Kolbinger hat geschrieben: Mi Okt 16, 2019 8:55 am Hallo Dani,
danik hat geschrieben: Di Okt 15, 2019 10:35 pm Ich habe einen Taster mit 6 Tasten und würde da gerne bei Eingabe der richtigen 4-stelligen Kombination eine Aktion auslösen.
wie werden denn die Tastendrücke gesendet?
Ein Objekt mit 6 möglichen Werten, oder 6 boolsche Objekte?
Hi

Ich habe zuerst an 6 boolsche Objekte gedacht, aber der andere Weg scheint mir sinnvoller zu sein (nur ein Objekt).
Gruss Dani
TW 3500L (#882) + TW 950Q (#321, im Moment inaktiv), VPN offen, Reboot nach Rücksprache

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

#5

Beitrag von Sun1453 »

Also ich wollte sowas dann mal mit 6 boolsche Objekten machen. Habe da bald einmal BE-GBZW.01 Glas Bedienzentrale Smart und zum anderen BE-TA55P8.01 Taster Plus 8-fach im Einsatz. Ob das mit einen Objekt geht??

Ich lasse mich gern eines besseren Belehren. Danke schon mal für die Tipps.
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: 10713
Registriert: So Aug 12, 2018 9:27 am
Wohnort: Frauenneuharting
Hat sich bedankt: 5304 Mal
Danksagung erhalten: 8685 Mal
Kontaktdaten:

#6

Beitrag von StefanW »

Eine Codeschloss-Funktion würde ich für sehr sinnvoll halten.

Am Besten in beiden Versionen, einmal mit einem Objekt und einmal mit mehreren Objekten. Schön wären auch mehrere mögliche Codes die dann verschiedenen Ausgänge triggern.

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.

Dragonos2000
Reactions:
Beiträge: 2200
Registriert: So Aug 12, 2018 1:38 pm
Wohnort: Karlsruher Raum
Hat sich bedankt: 492 Mal
Danksagung erhalten: 897 Mal

#7

Beitrag von Dragonos2000 »

Ich glaub' ich mach' heute Abend mal Bastelstunde... :mrgreen:
Lg
Jochen
____________________________________________________________
TW 2600 #188
VPN offen, Zugriff jederzeit, Experimente jederzeit, Reboot jederzeit

DeLaDope
Reactions:
Beiträge: 264
Registriert: Mo Sep 03, 2018 2:26 pm
Hat sich bedankt: 129 Mal
Danksagung erhalten: 97 Mal

#8

Beitrag von DeLaDope »

Cool!
TWS 2500 ID:134 + 2 x PBM ID:833/789, VPN offen, Reboot nach Rücksprache
Benutzeravatar

773H
Reactions:
Beiträge: 428
Registriert: Mo Okt 15, 2018 9:24 pm
Hat sich bedankt: 104 Mal
Danksagung erhalten: 208 Mal

#9

Beitrag von 773H »

Hallo zusammen. So sieht der Standardbaustein auf dem HS4 aus - nur so als kleine Anregung.

Gruß Stephan

Bild

Bild
TWS 2500 ID:677, PBM ID:495 & ID:632, TWS 2500 ID:574, TWS 2500 ID:220, PBM ID:1022, VPN offen, Neustart kein Problem

S. Kolbinger
Elaborated Networks
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 560 Mal

#10

Beitrag von S. Kolbinger »

Hallo Dani,

wie wäre es mit folgender Lösung aus 3 Logik-Zellen:
  1. Tastenfeld (Ermittelt die Zahl, für die die Taste steht)
  2. Code-Erfassung (Sammelt die einzelnen Tasteneingaben zu einem Code)
  3. Freigabe-Timer (vergleicht den Code mit Vorgabe und öffnet für eine bestimmte Zeit)
Tastenfeld (Custom-Logik):

Code: Alles auswählen

{
  "Level": [
    ["$TS_0","bool",false],
    ["$TS_1","bool",false],
    ["$TS_2","bool",false],
    ["$TS_3","bool",false],
    ["$TS_4","bool",false],
    ["$TS_5","bool",false],
    ["$TS_6","bool",false],
    ["$TS_7","bool",false],
    ["$TS_8","bool",false],
    ["$TS_9","bool",false],
    ["$Taste","integer",0],
    ["$BIT_0","bool",false],
    ["$BIT_1","bool",false],
    ["$BIT_2","bool",false],
    ["$BIT_3","bool",false],
    ["$Konst2","integer",2]
  ],
  "Module": [
    ["Or",["$TS_1","$TS_3","$TS_5","$TS_7","$TS_9"],"$BIT_0"],
    ["Or",["$TS_2","$TS_3","$TS_6","$TS_7"],"$BIT_1"],
    ["Or",["$TS_4","$TS_5","$TS_6","$TS_7"],"$BIT_2"],
    ["Or",["$TS_8","$TS_9"],"$BIT_3"],
    ["Polynomial","$Konst2","$Taste",["$BIT_0","$BIT_1","$BIT_2","$BIT_3"]],
    ["BinaryDemultiplexer",0,["$TS_0","$TS_1","$TS_2","$TS_3","$TS_4","$TS_5","$TS_6","$TS_7","$TS_8","$TS_9"]]     // reset all keys to false
  ],                
  "Input": [
    ["T_1","Taste 1","$TS_1","c"],
    ["T_2","Taste 2","$TS_2","c"],
    ["T_3","Taste 3","$TS_3","c"],
    ["T_4","Taste 4","$TS_4","c"],
    ["T_5","Taste 5","$TS_5","c"],
    ["T_6","Taste 6","$TS_6","c"],
    ["T_7","Taste 7","$TS_7","c"],
    ["T_8","Taste 8","$TS_8","c"],
    ["T_9","Taste 9","$TS_9","c"],
    ["T_0","Taste 0","$TS_0","c"]
  ],
  "Output": [
    ["Taste","Nummer der gedrückten Taste","$Taste","a"]
  ]
}

Code-Erfassung (Custom-Logik):

Code: Alles auswählen

{
  "Level": [
    ["$In","integer",0],
    ["$Digits","integer",6],
    ["$Out","integer",0],
    ["$InLimit","integer",0],
    ["$Pos","integer",0],
    ["$Complete","bool",true],
    ["$ResetTime","float",5.0],
    ["$Timeout","bool",false],
    ["$KonstTrue","bool",true],
    ["$Konst0d","integer",0],
    ["$Konst1d","integer",1],
    ["$Konst9d","integer",9],
    ["$Konst10d","integer",10]
  ],
  "Module": [
    ["Monoflop","$KonstTrue",0,"-$Timeout","$ResetTime",1], // (Re-)trigger watchdog
    ["Latch","$KonstTrue","$Complete","$Timeout",1],        // Restart when timout occoured
    ["Break",["$Timeout"]],                                 // timeout -> wait for next input
    ["Latch","$Konst0d","$Out","$Complete",0],              // Set for restart
    ["Latch","$Konst0d","$Pos","$Complete",0],              // Set for restart
    ["Polynomial","$Konst1d","$Pos",["$Konst1d","$Pos"]],   // Increment position
    ["Limiter","$In","$InLimit",0,["$Konst0d","$Konst9d"]], // Limit input value to single digits
    ["Polynomial","$Konst10d","$Out",["$InLimit","$Out"]],  // shift and add new input value (y = x + 10*y)
    ["Comparator","-$Pos","-$Complete","-$Digits"],         // digits complete?
    ["Break",["-$Complete"]]                                // not complete -> wait for next input
  ],
  "Input": [
    ["IN","Eingang","$In","a"],
    ["Stellen","Anzahl der Stellen","$Digits","u"],
    ["Timeout","Zeit nachder alles zurückgesetzt wird","$ResetTime","u"]
  ],
  "Output": [
    ["OUT","Integerausgang","$Out","a"]
  ]
}
Freigabe-Timer (Standard Timer2) kann mit unterschiedlichen Code-Vorgaben natürliche mehrfach vorkommen.


Und dann noch diese Logiken verknüpfen:
Bild
Zuletzt geändert von S. Kolbinger am So Okt 20, 2019 10:15 pm, insgesamt 1-mal geändert.
Gruß,
Stefan K.
Antworten

Zurück zu „Logikengine & Logik-Editor“