UPGRADE IP 9 verfügbar!
Timberwolf VISU jetzt mit NEUEM Layout Editor
Freie Anordnung, Reihenfolge und Größe der Widgets - viele weitere Verbesserungen
Infos im Wiki: https://elabnet.atlassian.net/l/cp/06SeuHRJ

NEU! Insider & Leistungsmerkmale FÜR ALLE freigeschaltet
Damit kann nun jeder das Upgrade vornehmen und VISU & IFTTT testen. Alle Info hier: viewtopic.php?f=8&t=5074

[NEUHEIT] Modul "Rampenfunktion" alias Softdimmer

Hier stellen Foristen und Kunden Ihre EIGENEN Logikbausteine vor. Diese Logikbausteine stehen jedem im Rahmen der vom Autor eingeräumten / genannten Lizenz zur Verfügung.
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
S. Kolbinger
Elaborated Networks
Reactions:
Beiträge: 588
Registriert: Mi Aug 15, 2018 11:34 am
Hat sich bedankt: 82 Mal
Danksagung erhalten: 558 Mal

Modul "Rampenfunktion" alias Softdimmer

#1

Beitrag von S. Kolbinger »

Es gibt ein neues Modul für die Logic-Engine: Die "Ramp"-enfunktion, mit dem lässt sich ein Wert einem neuen Zielwert langsam und schrittweise annähern.

Die Syntax für die Rampenfunktion sieht folgendermassen aus:
["Ramp","$In","$Out","$Active","$Step","$Period"]
    "Ramp" :   Modulkennung
    "$In":     Referenz auf einen float Level der den angestrebten Ziel-Wert enthält
    "$Out":    Referenz auf einen float Level der den aktuellen Ist-Wert enthält
    "$Active": Referenz auf einen boolschen Level der anzeigt, wenn die Annäherung aktiv ist (Ziel- und Ist-Wert unterschiedlich)
    "$Step":   Referenz auf einen float Level der die Schrittweite der Annäherung enthält
    "$Period": Referenz auf einen float Level der den Takt der Annäherung enthält

Wie funktioniert das ganze?
Wenn der Ist-Wert unterschiedlich zum Ziel-Wert ist, wird ein Timer (mit $Period) gestartet.
Jedesmal wenn der Timer abläuft nähert sich der Ist-Wert dem Ziel-Wert an.
Wenn Ist- und Ziel-Wert gleich sind wird der Timer wieder gestoppt.

Bsp:

Code: Alles auswählen

{
      "Level": [
        ["$In","float",0.0],
        ["$Out","float",0.0],
        ["$Active","bool",false],
        ["$Step","float",2.0],
        ["$Period","float",1.0],
        ["$VAR<Inhibit?>", "bool", false]
      ],
      "Module": [
        ["Break", ["$VAR<Inhibit?>"]  ],
        ["Ramp","$In","$Out","$Active","$Step","$Period"]
      ],
      "Input": [
        ["Ziel","Ziel-Wert","$In","c"],
        ["Schritt","Schrittweite für Annäherung","$Step","c"],
        ["Intervall","Zeitintervall für Annäherung [s]","$Period","c"],
        ["Inhibit", "INHIBIT", "$VAR<Inhibit?>", "u" ]
      ],
      "Output": [
        ["Akt. Wert","Aktueller Wert","$Out","c"],
        ["Aktive","Status: Ziel-Wert noch nicht erreicht","$Active","c"]
      ]
}
Bild

Hier der zeitliche Ablauf (Eingangssequenz: 0 -> 42 -> -17 -> 10):
Bild

Mit diesem Modul lässt sich sehr einfach eine langsame Dimmung umsetzen (Lichtwecker)

Das Modul ist bereits in der aktuellen DEV-Version verfügbar. Viel Spaß beim ausprobieren :handgestures-thumbupright:
Zuletzt geändert von S. Kolbinger am Fr Feb 28, 2020 9:28 pm, insgesamt 3-mal geändert.
Gruß,
Stefan K.

Didda93
Reactions:
Beiträge: 172
Registriert: Fr Jan 11, 2019 12:24 pm
Hat sich bedankt: 341 Mal
Danksagung erhalten: 112 Mal

#2

Beitrag von Didda93 »

Guten Abend,
Lässt sich das mit der DMX Customlogik kombinieren?
Dann könnte ich mal schön sauber dimmen :)

Lg
Philipp
Grüße Philipp

TWS 960Q ID: 441 (VPN offen, Reboot nach Absprache)

Sun1453
Reactions:
Beiträge: 1849
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1541 Mal
Danksagung erhalten: 788 Mal

#3

Beitrag von Sun1453 »

Hallo Stefan K.
Ja das wäre eine feine Sache wenn man das mit dem DMX verbinden könnte. Bisher ist ja nur eine Logik zum ansteuern möglich. Später wird man bestimmt auch die Lightning Engine daran hängen können oder diese hat die Logik gleich eingebaut.

Kannst du uns bitte weitere Informationen dazu geben? Danke
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 |

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

#4

Beitrag von S. Kolbinger »

Klar geht das.
Bin aber heute den ganzen Tag unterwegs.
Noch ein wenig Geduld, das Modul ist ja bisher auch erst in der DEV-Version verfügbar.
Gruß,
Stefan K.

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

#5

Beitrag von StefanW »

Hallo Michael,
Sun1453 hat geschrieben: Sa Feb 29, 2020 7:56 amJa das wäre eine feine Sache wenn man das mit dem DMX verbinden könnte.
Wir arbeiten daran, das Modul ist aus der Realisierung der Aufgabenstellung heraus entstanden. Leztlich entsteht ein komplexeres Dimmermodul. Die Ausgangswerte können (mit Einschränkung der Telegrammrate) kann auch für alle anderen Technologien verwendet werden, also neben DMX auch KNX-Dimmer, DALI (derzeit vie Gateway) und später auch MQTT / HUE usw. Wird toll werden.

Sun1453 hat geschrieben: Sa Feb 29, 2020 7:56 amSpäter wird man bestimmt auch die Lightning Engine daran hängen können oder diese hat die Logik gleich eingebaut.
Jep, letzteres.


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.

Sun1453
Reactions:
Beiträge: 1849
Registriert: Do Feb 07, 2019 8:08 am
Hat sich bedankt: 1541 Mal
Danksagung erhalten: 788 Mal

#6

Beitrag von Sun1453 »

@StefanW Super das ist echt genial!
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 |

gbglace
Reactions:
Beiträge: 3585
Registriert: So Aug 12, 2018 10:20 am
Hat sich bedankt: 1253 Mal
Danksagung erhalten: 1649 Mal

#7

Beitrag von gbglace »

StefanW hat geschrieben: Sa Feb 29, 2020 12:14 pm Wird toll werden.
Das glaube ich,

sind ja schon viele kleine Bausteine entstanden die für die Hintergrundaktivitäten der TIE gute Dienste leisten werden.

Ich beobachte das ja sehr genau.
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
#3 PBM 3 Kanäle, #4 Modbus-Extension

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

#8

Beitrag von S. Kolbinger »

Hallo Michael,
Sun1453 hat geschrieben: Sa Feb 29, 2020 7:56 am Hallo Stefan K.
Ja das wäre eine feine Sache wenn man das mit dem DMX verbinden könnte. Bisher ist ja nur eine Logik zum ansteuern möglich. Später wird man bestimmt auch die Lightning Engine daran hängen können oder diese hat die Logik gleich eingebaut.

Kannst du uns bitte weitere Informationen dazu geben? Danke
hier schon mal ein Beispiel, wie du das Soft-Dimming mit der V1.6.0 jetzt schon funktioniert.

Code: Alles auswählen

{
  "Level": [
    ["$Ziel","float",0],
    ["$Schritt","float",5.0],
    ["$ZwischenWert","float",0],
    ["$Value","float",0],
    ["$Period","float",0.5],
    ["$VAR<Inhibit?>","bool",false]
  ],
  "Module": [
    ["Break",["$VAR<Inhibit?>"]],
    ["Ramp","$Ziel","$ZwischenWert",0,"$Schritt","$Period"],
    ["Interpolation","$ZwischenWert","$Value",[[0,0],[25,25],[50,68],[75,139],[100,255]]],
    ["DMX_Test",["$Value","$Value","$Value"], "$Period", 0]
  ],
  "Input": [
    ["Hell","Helligkeit [0 .. 100]","$Ziel","c"],
    ["Inhibit","INHIBIT","$VAR<Inhibit?>","u"]
  ],
  "Output": [
    ["Aktuell","Aktueller Helligkeits-Wert","$Value","c"]
  ]
}
Dieses Beispiel steurert drei Kanäle (1,2 und 3) mit den gleichen Werten an. Bei mir handelt es sich um die RGB-Kanäle einer Lampe.
Mit den Werten bei Interpolation kannst du die Kurve deinem Helligkeitsempfinden anpassen.
SoftDimming.png
Viel Spaß beim ausprobieren.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von S. Kolbinger am Mo Mär 23, 2020 11:16 am, insgesamt 1-mal geändert.
Gruß,
Stefan K.
Antworten

Zurück zu „Zusätzliche Logikbausteine“