Da in meinem Projekt eine Priorität war alle Fehlermeldungen der Aktoren über den X1 auszuwerten und sowohl auf dem G1 als auch in der X1-App anzuzeigen, habe ich nun die ersten Logiken zur Auswertung gebaut. In diesem Thread geht es um die Auswertung des DALI Gateways TW Plus 2108.
Mit den Logikbausteinen Gira X1 Logikbaustein 2Byte -> 16 Bit https://knx-user-forum.de/forum/%C3%...n-2byte-16-bit von MultiMike und Formelberechnung https://knx-user-forum.de/forum/%C3%...istik-und-mehr von hyman konnte ich die Auswertung des KO 1544 recht gut umsetzen.
Vielleicht hilft diese Umsetzung dem Einen oder Anderen. Anbei auch die Formeln zur Einsparung von Tipparbeit:
Bool - Formel 01: {Bit0:B}
Bool - Formel 02: {Bit1:B}
Bool - Formel 03: {Bit2:B}
Bool - Formel 04: {Bit3:B}
Bool - Formel 05: {Bit4:B}
Bool - Formel 06: {Bit5:B}
Bool - Formel 07: {Adressbit:B} == true
Bool - Formel 08: {Sendeanforderung:B}
Bool - Formel 09: {Lampenfehler:B} == true | {EVG_Fehler:B} == true | {Konverterfehler:B} == true
Number - Formel 10: !_out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 0 : ( !_out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 1 : ( !_out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 2 : ( !_out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 3 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 4 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 5 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 6 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 7 : ( !_out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 8 : ( !_out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 9 : (!_out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 10 : ( !_out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 11 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 12 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 13 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 14 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? 15 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 16 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 17 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 18 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 19 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 20 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 21 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 22 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 23 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 24 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 25 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 26 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 27 : ( !_out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 28 : ( !_out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 29 : ( !_out1_ & _out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 30 : ( !_out1_ & _out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? 31 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 32 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 33 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 34 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 35 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 36 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 37 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 38 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 39 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 40 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 41 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 42 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 43 : ( _out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 44 : ( _out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 45 : ( _out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 46 : ( _out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? 47 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 48 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 49 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 50 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 51 : ( _out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 52 : ( _out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 53 : ( _out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 54 : ( _out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 55 : ( _out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 56 : ( _out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 57 : ( _out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 58 : ( _out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 59 : ( _out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 60 : ( _out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 61 : ( _out1_ & _out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 62 : ( _out1_ & _out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? (double?)63 : null )))))))))))))))))))))))))))))))))))))))))))))))))) )))))))))))))
String - Formel 11: (_out7_ ? "Gruppe " : "Leuchte ") + (_out10_ + 1) + (": ") + (!_out9_ ? "OK" : ( ({Lampenfehler} ? "Lampenfehler" : "" ) + ({Lampenfehler} & {EVG_Fehler} ? ", " : "") + ({EVG_Fehler} ? "EVG-Fehler" : "" ) + ( ({Lampenfehler} || {EVG_Fehler}) & {Konverterfehler} ? ", " : "") + ({Konverterfehler} ? "Konverterfehler" : "" )))
String - Formel 12: _out7_ ? _out11_ : ""
Number - Formel 13: _out10_
Mit den Formeln werden zwei unterschiedliche Meldungen generiert: Einmal alle Meldungen als Meldungstext an ein G1 und einmal nur die Gruppenmeldungen an je eine Statuskachel pro DALI-Gruppe im X1.
Sollte jemand noch Interesse an der Auswertung für das ise Sonos Gateway, den Heizungsaktor 2129 (Ventilstatus), den Dimmaktor 2025, den S1 2089 haben, so kann ich gerne dazu den entsprechenden Thread erstellen.
Screenshot (253).png
Mit den Logikbausteinen Gira X1 Logikbaustein 2Byte -> 16 Bit https://knx-user-forum.de/forum/%C3%...n-2byte-16-bit von MultiMike und Formelberechnung https://knx-user-forum.de/forum/%C3%...istik-und-mehr von hyman konnte ich die Auswertung des KO 1544 recht gut umsetzen.
Vielleicht hilft diese Umsetzung dem Einen oder Anderen. Anbei auch die Formeln zur Einsparung von Tipparbeit:
Bool - Formel 01: {Bit0:B}
Bool - Formel 02: {Bit1:B}
Bool - Formel 03: {Bit2:B}
Bool - Formel 04: {Bit3:B}
Bool - Formel 05: {Bit4:B}
Bool - Formel 06: {Bit5:B}
Bool - Formel 07: {Adressbit:B} == true
Bool - Formel 08: {Sendeanforderung:B}
Bool - Formel 09: {Lampenfehler:B} == true | {EVG_Fehler:B} == true | {Konverterfehler:B} == true
Number - Formel 10: !_out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 0 : ( !_out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 1 : ( !_out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 2 : ( !_out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 3 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 4 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 5 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 6 : ( !_out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 7 : ( !_out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 8 : ( !_out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 9 : (!_out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 10 : ( !_out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 11 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 12 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 13 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 14 : ( !_out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? 15 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 16 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 17 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 18 : ( !_out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 19 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 20 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 21 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 22 : ( !_out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 23 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 24 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 25 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 26 : ( !_out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 27 : ( !_out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 28 : ( !_out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 29 : ( !_out1_ & _out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 30 : ( !_out1_ & _out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? 31 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 32 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 33 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 34 : ( _out1_ & !_out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 35 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 36 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 37 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 38 : ( _out1_ & !_out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 39 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 40 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 41 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 42 : ( _out1_ & !_out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 43 : ( _out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 44 : ( _out1_ & !_out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 45 : ( _out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 46 : ( _out1_ & !_out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? 47 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & !_out6_ ? 48 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & !_out5_ & _out6_ ? 49 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & !_out6_ ? 50 : ( _out1_ & _out2_ & !_out3_ & !_out4_ & _out5_ & _out6_ ? 51 : ( _out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & !_out6_ ? 52 : ( _out1_ & _out2_ & !_out3_ & _out4_ & !_out5_ & _out6_ ? 53 : ( _out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & !_out6_ ? 54 : ( _out1_ & _out2_ & !_out3_ & _out4_ & _out5_ & _out6_ ? 55 : ( _out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & !_out6_ ? 56 : ( _out1_ & _out2_ & _out3_ & !_out4_ & !_out5_ & _out6_ ? 57 : ( _out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & !_out6_ ? 58 : ( _out1_ & _out2_ & _out3_ & !_out4_ & _out5_ & _out6_ ? 59 : ( _out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & !_out6_ ? 60 : ( _out1_ & _out2_ & _out3_ & _out4_ & !_out5_ & _out6_ ? 61 : ( _out1_ & _out2_ & _out3_ & _out4_ & _out5_ & !_out6_ ? 62 : ( _out1_ & _out2_ & _out3_ & _out4_ & _out5_ & _out6_ ? (double?)63 : null )))))))))))))))))))))))))))))))))))))))))))))))))) )))))))))))))
String - Formel 11: (_out7_ ? "Gruppe " : "Leuchte ") + (_out10_ + 1) + (": ") + (!_out9_ ? "OK" : ( ({Lampenfehler} ? "Lampenfehler" : "" ) + ({Lampenfehler} & {EVG_Fehler} ? ", " : "") + ({EVG_Fehler} ? "EVG-Fehler" : "" ) + ( ({Lampenfehler} || {EVG_Fehler}) & {Konverterfehler} ? ", " : "") + ({Konverterfehler} ? "Konverterfehler" : "" )))
String - Formel 12: _out7_ ? _out11_ : ""
Number - Formel 13: _out10_
Mit den Formeln werden zwei unterschiedliche Meldungen generiert: Einmal alle Meldungen als Meldungstext an ein G1 und einmal nur die Gruppenmeldungen an je eine Statuskachel pro DALI-Gruppe im X1.
Sollte jemand noch Interesse an der Auswertung für das ise Sonos Gateway, den Heizungsaktor 2129 (Ventilstatus), den Dimmaktor 2025, den S1 2089 haben, so kann ich gerne dazu den entsprechenden Thread erstellen.
Screenshot (253).png