Garagentorsteuerung mit Relais Switch und Door/Window Sensor

Hallo

Probiere auch gerade das VD für Garagentor Zustandsabfrage
Aber wie binde ich meine 2 Fenster Kontakte richtig ein ?
Bei mir er zeigt entweder Auf oder Zu .
wie füge ich die funktion Halb offen ein ?

Danke im Voraus Manuel

Bei den Screenshots sieht man nicht alles. Poste mal den kompletten Code als Text (vorformatiert). Evtl. lässt sich dann ne Lösung finden.

Gruß, Ändy

Hier mal die Comandozeilen

Danke schon mal im Voraus
Manuel

local vDeviceID = fibaro:getSelfId() --Virtuelles Gerät bekommt eine ID
local relayS1_ID = 399
local relayS2_ID = 648 

while true do
local status = fibaro:getValue(relayS2_ID,'dead')
if(status>='1') then
fibaro:log("nicht erreichbar")
fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","nicht erreichbar")

elseif (status=='0') then
   local zustand = fibaro:getValue(relayS2_ID,'value')
  fibaro:debug(zustand)
  if(zustand=='0')then 
      fibaro:call(vDeviceID, "setProperty", "currentIcon", 1007)
      fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","offen")
      fibaro:log("offen")
  elseif(zustand=='1')then 
      fibaro:call(vDeviceID, "setProperty", "currentIcon", 1005)
      fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","geschlossen")
      fibaro:log("geschlossen")
  elseif(zustand=='2')then 
      fibaro:call(vDeviceID, "setProperty", "currentIcon", 1006)
      fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","Halboffen")
      fibaro:log("Halboffen")
  end
end

end

Weiter oben im Thema schien es mal ein VD gegeben zu haben, welches 2 Sensoren unterstützt. Zumindest wird mir die Datei aus irgendwelchen Gründen nicht mehr angezeigt.
Du kannst es mal mit folgenden Code versuchen. Ich habe das selbst so nicht im Einsatz und nur “blind” abgeändert. Deshalb ohne Gewähr. Unter sensorSx_ID=xyz deine beiden SensorIDs eintragen.

local vDeviceID = fibaro:getSelfId() --Virtuelles Gerät bekommt eine ID
local sensorS1_ID = 399 --Tor zu
local sensorS2_ID = 648 --Tor offen

--while true do
local statusS1 = fibaro:getValue(sensorS1_ID,'dead')
local statusS2 = fibaro:getValue(sensorS2_ID,'dead')
if statusS1>='1' or statusS2>='1' then
fibaro:log("Sensoren nicht erreichbar")
fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","nicht erreichbar")

elseif statusS1=='0' and statusS2=='0' then
   local zustandS1 = fibaro:getValue(sensorS1_ID,'value')
   local zustandS2 = fibaro:getValue(sensorS2_ID,'value')
  fibaro:debug(zustandS1.." "..zustandS2)
  if zustandS1=='0' and zustandS2=='1' then 
      fibaro:call(vDeviceID, "setProperty", "currentIcon", 1007)
      fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","offen")
      fibaro:log("offen")
  elseif zustandS1=='1' then 
      fibaro:call(vDeviceID, "setProperty", "currentIcon", 1005)
      fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","geschlossen")
      fibaro:log("geschlossen")
  elseif zustandS1=='0' and zustandS2=='0' then 
      fibaro:call(vDeviceID, "setProperty", "currentIcon", 1006)
      fibaro:call(vDeviceID, "setProperty", "ui.Label1.value","Halboffen")
      fibaro:log("Halboffen")
  end
end

--end

Die While true do Schleife hab ich auskommentiert, da sie mir nicht mehr nötig erscheint. Das VD wird ja eh alle 3 Sekunden durchlaufen.

Gruß, Ändy

1 Like

Danke jetzt Funzt es :wink:

1 Like