Ik dacht slim te zijn door idd juist niet een ingang 1 op 1 te koppelen aan een uitgang, want dit kost me per 2 uitgangen een binaire lezer (Fibaro kan 2 poorten uitlezen per Universal Binairy Sensor), maar middels 4 uitgangspoorten op de 1811 2^4=16 scenarios aan te sturen. Tevens heb ik nog maar 4 vrije uitgangspoorten beschikbaar...
Op zich werkt het theoretisch en wil ik mijn opzet wel delen, echter ik heb het nog niet feilloos werkend.
Het timing issue wat ik omschreef is niet helemaal juist. Het blijkt dat de poorten toch wel zeer snel worden aangestuurd (we hebben het over ms, ik snap ook niet helemaal jouw probleem maar ik vermoed dat de proximity kaartlezer niet snel genoeg werkt...). Ik heb dit namelijk kunnen uitsluiten door de poort met puls voor 1 sec aan te sturen en Fibaro op z'n gemak bijv 0,7 sec te wachten en dan de 4 poorten nogmaals uit te lezen. Als dan de bitstream nog steeds hetzelfde is dan weet ik zeker dat de bitstream omgezet kan worden en een scenario er aan gekoppeld kan worden. So far, so good...
Het probleem is eigenlijk de volgende. Stel PIR 1 wordt geschonden en levert als bitstream 1100 op. Als dan PIR 2 binnen die seconde (bijv na 0,3 sec) ook verstoord wordt dan moet de logica voor PIR 2 bitstream 0110 opleveren. Na 0,3 sec wordt ook daadwerkelijk 0110 op de poort gezet, echter na precies 1 sec wordt de bitstream 1100 van PIR 1 uitgezet waardoor je overhoud 0010. Vat je 'm... (sorry, ff nadenkertje maar als je de bitstreams onder elkaar zet zie je wat er gebeurt...)?
Na 1,3 sec wordt de bitstream 0110 (waarvan eigenlijk slechts over was 0010) weer op 0000 gezet.
Maar tijdelijk heb ik dus een valse bitstream 0010 die natuurlijk weer een andere betekenis heeft.
Hoe op te lossen? Eigenlijk eenvoudig, maar praktisch lastig. Eigenlijk als ik de 4 poorten aanstuur dan moet ik niet alleen de 1 actief aansturen maar juist ook de 0 (dus de hele bitstream van 4 uitgangspoorten). Het Fibaro clock-issue kan worden opgelost door bij 0,2 sec te wachten, nogmaals de waarde van de 4 poorten uit te lezen en als die dan nog hetzelfde is weet ik zeker dat de bitstream een scenario mag opstarten.
Aangezien Titan de "Uitgang" slechts met 1 actievlag kan aansturen (en dat is dan een 1 of geïnverteerd een 0) kan ik alleen 1-en actief naar de poort sturen, terwijl ik juist ook een 0 actief naar de poorten wil sturen (maw altijd een bitstream van 4 poorten moet aansturen). Aangezien ik met "Macro" werk en een "Actievlag" aanstuur die gekoppeld is met een uitgang, zal het probleem duidelijk zijn. De poort wordt alleen actief aangestuurd met een 1 en niet met de 0. Een combinatie met geïnverteerd (een 0) kan helaas niet.
Kortom, ik zit dus heel dicht bij de oplossing maar moet er nog ff op kauwen...