Ich selber habe 25 Soda Fenstergriffe mit einem Gateway von AdfWeb.
Ich habe mir für jeden Griff eine Logik gebaut, die mir dann direkt Offen oder Gekippt am Ausgang ausgibt, ausserdem werden damit noch die Umrechnungen von Temperatur und Feuchte gemacht.
in eine TS schreibe ich die Werte 0 = Geschlossen, 1 = gekippt und 10 = geöffnet, diese Werte gebe ich auch auf die VISU um mit den Werten jeweils das richtige Symbol an zu zeigen.
Code: Alles auswählen
{
"_Meta": { // Optional
"Description": "Fenstergriff-Auswertung ",
"Version": "2.00",
"Icon": "" // format: "data:image/svg+xml;base64,ENCODED_FILE"
},
"Level": [
// Eingangs Variablen
["$in_1","integer",0],
["$in_2","integer",0],
["$in_3","integer",0],
["$in_4","integer",0],
["$in_5","integer",0],
["$in_6","integer",0],
["$in_7","float",0],
["$in_8","float",0],
["$in_9","integer",0],
["$in_10","integer",0],
// Ausgangs Variablen
["$out_1","integer",0],
["$out_2","integer",0],
["$out_3","integer",0],
["$out_4","integer",0],
["$out_5","integer",0],
["$out_6","integer",0],
["$out_7","float",0],
["$out_8","float",0],
["$out_9","float",0],
["$out_10","integer",0],
["$out_11","string"," "],
["$Var_1","integer",0],
["$Var_2","integer",1],
["$Var_3","integer",0],
["$GG_0","integer",0],
["$GG_1","integer",1],
["$GG_2","integer",0],
["$GG_3","integer",0],
["$GG_4","integer",0],
["$GO_0","integer",0],
["$GO_1","integer",0],
["$GO_2","integer",0],
["$GO_3","integer",1],
["$GO_4","integer",1],
["$GA_0","integer",0],
["$GA_1","integer",1],
["$format_t","string","%.1f °C "],
["$format_f","string","%.1f %% "],
["$format_b","string","%.0f %%B "],
["$visu_temp","string",""],
["$visu_feuchte","string",""],
["$visu_batt","string",""],
["$Form_visu","string","( X1 + (X2 * 10) + (X3 * 100) ) "],
["$Form_temp","string","( X1 * 0.32 ) -20 "],
["$Form_feucht","string","( X1 * 0.5)"],
["$Form_batt","string","( X1 * 5)"]
],
"Input": [
["Griff-Position", "Griff Position", "$in_1", "c"], // Eingangs Wert
["Fensterstatus", "Fensterstatus", "$in_2", "c"], // Eingangs Wert
["Rechte Taste", "Rechte Taste", "$in_3", "c"], // Eingangs Wert
["Linke Taste", "Linke Taste", "$in_4", "c"], // Eingangs Wert
["Alarm", "Alarm", "$in_5", "c"], // Eingangs Wert
["Bewegung", "Motion", "$in_6", "c"], // Eingangs Wert
["Urlaubs Mode", "Urlaubs Mode", "$in_7", "c"], // Eingangs Wert
["Temperatur", "Temperatur", "$in_8", "c"], // Eingangs Wert
["Feuchtigkeit", "Feuchtigkeit", "$in_9", "c"], // Eingangs Wert
["Roh-Batterie", "Roh-Batterie", "$in_10", "c"] // Eingangs Wert
],
"Output": [
["Fenster Gekippt", "Fenster Gekippt", "$out_1", "a"],
["Fenster Offen", "Fenster Offen", "$out_2", "a"],
["Fenster Rechte Taste", "Rechte Taste", "$out_3", "a"],
["Fenster Linke Taste", "Linke Taste", "$out_4", "a"],
["Fenster Alarm", "Fenster Alarm", "$out_5", "a"],
["Urlaubs Modus", "Urlaubs Modus", "$out_6", "a"],
["Temperatur", "Temperatur", "$out_7", "a"],
["Feuchtigkeit", "Feuchtigkeit", "$out_8", "a"],
["Batterie", "Batterie", "$out_9", "a"],
["Position für VISU", "Pos-VISU", "$out_10", "a"],
["Werte für VISU", "Werte", "$out_11", "a"]
],
"Module": [
["Multiplexer",["$GG_0","$GG_1","$GG_2","$GG_3","$GG_4"], "$out_1", "$in_1"] ,
["Multiplexer",["$GO_0","$GO_1","$GO_2","$GO_3","$GO_4"], "$out_2", "$in_1"] ,
["Multiplexer",["$Var_1","$Var_2","$Var_3"], "$out_3", "$in_3"] ,
["Multiplexer",["$Var_1","$Var_2","$Var_3"], "$out_4", "$in_4"] ,
["Multiplexer",["$Var_1","$Var_2"], "$out_5", "$in_5"] ,
["CalcFormula",["$in_8"], "$out_7", "$Form_temp"] ,
["CalcFormula",["$in_9"], "$out_8", "$Form_feucht"] ,
["CalcFormula",["$in_10"], "$out_9", "$Form_batt"] ,
["CalcFormula",["$out_1","$out_2","$out_5"], "$out_10", "$Form_visu"],
["Printf","$out_7","$format_t", "$visu_temp"],
["Printf","$out_8","$format_f", "$visu_feuchte"],
["Printf","$out_9","$format_b", "$visu_batt"],
["Concat",["$visu_temp","$visu_feuchte","$visu_batt"], "$out_11"]
]
}