Seite 2 von 2

Re: Custom Logik zum Nachdimmen

Verfasst: So Sep 01, 2019 5:38 pm
von Chris M.
mclb hat geschrieben: So Sep 01, 2019 4:45 pm Und ich will das einfach in einem einzelnen Baustein, weil ich den ca. 15-20 Mal benötige.
Off Topic:
@StefanW wäre wohl ein weiterer Anwendungsfall für den Massenmodus.

Re: Custom Logik zum Nachdimmen

Verfasst: So Sep 01, 2019 6:05 pm
von StefanW
Hallo Chris,

ich "brüte" schon darüber.

Zwei (konkurrierende) Ideen:

1. Im LE, man klickt "Multi-Logik" (oder so ähnlich für Massenmodus) an und es erscheint eine Tabelle unter der Logik mit allen Ein- und Ausgängen (Schiffeversenken) und dort kann man nun in jedem Feld die Objekte anlegen, die für die jeweilige Inkarnation gelten.
Mit Klick auf die jeweilige Inkarnation wird dass dann auch im LE dargestellt und man kann den Doktormodus benutzen (vielleicht auch mehrere davon gleichzeitig)

2. Es gibt einen völlig separaten Editor (mehr Platz für die Tabelle), dort lädt man eine Logikzelle und gibt es in der Tabelle wieder ein. Eigentlich ähnlich wie oben aber separater Editor.

Stefan

Re: Custom Logik zum Nachdimmen

Verfasst: So Sep 01, 2019 6:34 pm
von Robert_Mini
Ok, hatte nicht alles gelesen.
Bei mir dimmt der Aktie bei EIN immer auf 100%, in der Nacht schicke ich 20% nach.

Generell werde bräuchten wir (als Community) einen zb 4fach Nachdimmer, wählbar ob auch 100% gesendet werden soll.

Robert

Re: Custom Logik zum Nachdimmen

Verfasst: Mo Sep 02, 2019 4:56 am
von gbglace
Sowas macht doch dann die TIE.

Re: Custom Logik zum Nachdimmen

Verfasst: Mo Sep 02, 2019 4:45 pm
von mclb
Also ich hab das jetzt mal versucht als Custom Logik umzusetzen, allerdings bekomme ich beim Speichern immer einen unerwarteten Fehler. Sieht jemand einen Fehler?

Bei den Dimmwerten hatte ich ursprünglich integer drin, da konnte ich dann das Objekt nicht verbinden, da wurde der Ausgang immer rot und der Speichern-Button blieb grau.

Folgende Objekte verbinde ich mit den Ein-/Ausgängen:
$ILicht: 1.001
$IDimmen: 1.001
$IDimmwert: Parameter 20
$ODimmwert: 5.001

Code: Alles auswählen

{
   "Level":[
      [
         "$ILicht",
         "bool",
         false
      ],
      [
         "$IDimmen",
         "bool",
         false
      ],
      [
         "$IDimmwert",
         "float",
         0
      ],
      [
         "$ODimmwert",
         "float",
         0
      ],
      [
         "$SummeLichtNacht",
         "integer",
         0
      ],
      [
         "$VAR<Inhibit?>",
         "bool",
         false
      ]
   ],
   "Module":[
      [
         "Break",
         [
            "$VAR<Inhibit?>"
         ]
      ],
      [
         "Binaermultiplexer",
         [
            "$ILicht",
            "$IDimmen"
         ],
         "$SummeLichtNacht"
      ],
      [
         "Multiplexer",
         [
            "0",
            "100",
            "0",
            "$IDimmwert"
         ],
         "$ODimmwert",
         "$SummeLichtNacht"
      ]
   ],
   "Input":[
      [
         "Licht",
         "Lichte Ein-/Ausgeschaltet",
         "$ILicht",
         "c"
      ],
      [
         "Dimmen",
         "Dimmen ist aktiviert",
         "$IDimmen",
         "c"
      ],
      [
         "Dimmwert",
         "Dimmwert der bei aktiviertem Dimmen gesendet werden soll",
         "$IDimmwert",
         "c"
      ],
      [
         "Inhibit",
         "INHIBIT",
         "$VAR<Inhibit?>",
         "u"
      ]
   ],
   "Output":[
      [
         "Dimmwert",
         "Dimmwert lt. Logik",
         "$ODimmwert",
         "c"
      ]
   ]
}
Danke
Marcus

Re: Custom Logik zum Nachdimmen

Verfasst: Mo Sep 02, 2019 6:51 pm
von Matze76
Der "Binaermultiplexer" heißt "BinaryMultiplexer".

Die Konstanten (0, 100, 0) beim Multiplexer nicht in Anführungszeichen setzen.

Dann gehts :)

EDIT: Mit diesen Anpassungen konnte ich sie zumindest speichern. Sie zeigt aber jetzt "Error" an...

Re: Custom Logik zum Nachdimmen

Verfasst: Mo Sep 02, 2019 9:36 pm
von mclb
Hi Matze,

danke, jetzt läufts. :-)
Hab nur ne kleine Falschkonfiguration beim Dali-Gateway, wodurch der Dimmwert auf eine falsche GA gesendet wird. :-D

Das werde ich morgen noch richten und mein Testfall müsste funktionieren.

LG
Marcus

Re: Custom Logik zum Nachdimmen

Verfasst: Di Sep 03, 2019 10:46 am
von mclb
Hi,

also aus irgendeinem Grund wird bei mir die 100 im obigen Code nicht an den Ausgang geschickt. Ich habe den Code jetzt noch ein wenig verändert, sodass man den ungedimmten Dimmwert (also immer 100) auch als Eingang übergibt, so funktionierts. Vielleicht weiß ja jemand, warum der fixe Wert nicht funktioniert hat?

Der neue Code:

Code: Alles auswählen

{
   "Level":[
      [
         "$ILicht",
         "bool",
         false
      ],
      [
         "$IDimmen",
         "bool",
         false
      ],
      [
         "$IDimmwertHell",
         "float",
         0
      ],
      [
         "$IDimmwertDunkel",
         "float",
         0
      ],
      [
         "$ODimmwert",
         "float",
         0
      ],
      [
         "$SummeLichtNacht",
         "integer",
         0
      ],
      [
         "$VAR<Inhibit?>",
         "bool",
         false
      ]
   ],
   "Module":[
      [
         "Break",
         [
            "$VAR<Inhibit?>"
         ]
      ],
      [
         "BinaryMultiplexer",
         [
            "$ILicht",
            "$IDimmen"
         ],
         "$SummeLichtNacht"
      ],
      [
         "Multiplexer",
         [
            0,
            "$IDimmwertHell",
            0,
            "$IDimmwertDunkel"
         ],
         "$ODimmwert",
         "$SummeLichtNacht"
      ]
   ],
   "Input":[
      [
         "Licht",
         "Lichte Ein-/Ausgeschaltet",
         "$ILicht",
         "c"
      ],
      [
         "Dimmen",
         "Dimmen ist aktiviert",
         "$IDimmen",
         "c"
      ],
      [
         "Dimmwert nachdimmen",
         "Dimmwert der bei nicht aktiviertem Dimmen gesendet werden soll",
         "$IDimmwertDunkel",
         "c"
      ],
      [
         "Dimmwert nicht nachdimmen",
         "Dimmwert der bei aktiviertem Dimmen gesendet werden soll",
         "$IDimmwertHell",
         "c"
      ],
      [
         "Inhibit",
         "INHIBIT",
         "$VAR<Inhibit?>",
         "u"
      ]
   ],
   "Output":[
      [
         "Dimmwert",
         "Dimmwert lt. Logik",
         "$ODimmwert",
         "c"
      ]
   ]
}

Re: Custom Logik zum Nachdimmen

Verfasst: Di Sep 03, 2019 11:59 am
von S. Kolbinger
Hallo Marcus,
mclb hat geschrieben: Di Sep 03, 2019 10:46 am Vielleicht weiß ja jemand, warum der fixe Wert nicht funktioniert hat?
die Verwendung fixer Werte in den Modulen ist, bis auf wenige Ausnahmen (z.B. Interpolation), nicht vorgesehen.
Es geht alles über Referenzen ("$...") auf die Level.

siehe auch:
app.php/kb/viewarticle?a=87

Re: Custom Logik zum Nachdimmen

Verfasst: Di Sep 03, 2019 3:57 pm
von mclb
Hi Stefan,

also so in die Richtung müsste es funktionieren?

Code: Alles auswählen

{
   "Level":[
      [
         "$ILicht",
         "bool",
         false
      ],
      [
         "$IDimmen",
         "bool",
         false
      ],
      [
         "$IDimmwert",
         "float",
         0
      ],
      [
         "$ODimmwert",
         "float",
         0
      ],
      [
         "$SummeLichtNacht",
         "integer",
         0
      ],
      [
         "$VAR<Inhibit?>",
         "bool",
         false
      ],
	  [
		"$Dummy0Prozent",
		"float",
		0
	  ],
	  [
		"$Dummy100Prozent",
		"float",
		100
	  ]
   ],
   "Module":[
      [
         "Break",
         [
            "$VAR<Inhibit?>"
         ]
      ],
      [
         "BinaryMultiplexer",
         [
            "$ILicht",
            "$IDimmen"
         ],
         "$SummeLichtNacht"
      ],
      [
         "Multiplexer",
         [
            "$Dummy0Prozent",
            "$Dummy100Prozent",
            "$Dummy0Prozent",
            "$IDimmwert"
         ],
         "$ODimmwert",
         "$SummeLichtNacht"
      ]
   ],
   "Input":[
      [
         "Licht",
         "Lichte Ein-/Ausgeschaltet",
         "$ILicht",
         "c"
      ],
      [
         "Dimmen",
         "Dimmen ist aktiviert",
         "$IDimmen",
         "c"
      ],
      [
         "Dimmwert nachdimmen",
         "Dimmwert der bei nicht aktiviertem Dimmen gesendet werden soll",
         "$IDimmwert",
         "c"
      ],
      [
         "Inhibit",
         "INHIBIT",
         "$VAR<Inhibit?>",
         "u"
      ]
   ],
   "Output":[
      [
         "Dimmwert",
         "Dimmwert lt. Logik",
         "$ODimmwert",
         "c"
      ]
   ]
}
Ist jetzt ungetestet, weil ich gerade nicht auf meinen Wolf komme.

Danke
Marcus