NEWS
Kleine Alarmanlage - mit Blockly?
-
huhu,
ich schaue mir nocheinmal die "scharfschaltung" in der CCU an … Da ich auch parallel noch dazu zwei Scripte für E-Mail Versand sowie Ausgabe am TV und parallel dazu noch ein paar LED für die Zustandsanzeige sowie den akustische Ton beim scharf und unscharf schalte, habe ich hier und dort ein paar sekunden Verzögerung einbebaut, damit die CCU nicht alle Befehle gleichzeitig abarbeiten muß. Da ist wahrscheinlich der Hund begraben.
Ich melde mich sobald ich zu Hause etwas gefunden habe, was die Auslösung der Hupe verzögert. Komischerweise Reagiert die Statusanzeige (gelbe LED) sofort auf ein affenes Fenster. Kann ja nur mein Fehler sein.
-
Ja, in meinem Beispielen stehen nur die Gerätenummer. Ich habe sie aber umbenannt in der CCU und dem Raum und Funktion zugeordnet.
In Blockly suche ich aber den Datenpunkt "state" aus, den dort steht dahinter auch der Wert true oder false dahinter…
Ist es falsch? `
Hier ist ja richtig was los :shock:
Habt Ihr alle frei?
Bei mir werden die Namen der Geräte übernommen.
Grüße
-
huhu,
ich schaue mir nocheinmal die "scharfschaltung" in der CCU an … Da ich auch parallel noch dazu zwei Scripte für E-Mail Versand sowie Ausgabe am TV und parallel dazu noch ein paar LED für die Zustandsanzeige sowie den akustische Ton beim scharf und unscharf schalte, habe ich hier und dort ein paar sekunden Verzögerung einbebaut, damit die CCU nicht alle Befehle gleichzeitig abarbeiten muß. Da ist wahrscheinlich der Hund begraben.
Ich melde mich sobald ich zu Hause etwas gefunden habe, was die Auslösung der Hupe verzögert. Komischerweise Reagiert die Statusanzeige (gelbe LED) sofort auf ein affenes Fenster. Kann ja nur mein Fehler sein. `
Auf zwei Systemen, zur gleichen Zeit, das Gleiche abarbeiten. Ganz gefährlich!Grüße
-
hmm,
jetzt noch einmal zum Verständniss.
Ich habe zwei Blocklys für die Alarmanlage! (Fensterkontakte und BM)
Demnach müsste ich sie beide erweitern, damit im Notfall ausgeschaltet werden kann.
Damit es einfacher wird, kann ich den dritten Blockly schreiben?
Falls Objekt Alarmanlage UNWAHR
steuere Sirene mit FALSE
So das es für beide Blocklys funktioniert?
-
Damit es einfacher wird, kann ich den dritten Blockly schreiben?
Falls Objekt Alarmanlage UNWAHR
steuere Sirene mit FALSE `
Aber natürlich.Du kannst 100 Blockly-Scripte anlegen, in denen Alarmanlage auf FALSE getriggert wird.
Wenn Alarmanlage den Zustand von TRUE auf FALSE ändert starten diese Scripte.
So richtig verinnertlicht hast Du Dir das Prinzip noch nicht.
Aber wir arbeiten dran
Grüße
-
So richtig verinnertlicht hast Du Dir das Prinzip noch nicht.
Aber wir arbeiten dran
Grüße `
hehe, ich brauche ne Weile, aber dank Dir wird es langsam verständlicher für mich….
Gerade eben ein Blockly für Alarm AUS, und weitere zwei nach Deiner Vorgabe bearbeitet.
1526_unbenannt6.png
1526_unbenannt7.png
1526_unbenannt8.png -
Jetzt haben die Einbrecher keine Chance mehr
Grüße
-
Jetzt haben die Einbrecher keine Chance mehr
Grüße `
hehe, selten so gut gelacht :mrgreen:
ich lasse die Einbrecher in die Falle laufen… dank China BM und paar Fensterkontakte und selbsverständlich einer Programmierung ohne Sicherheitslücken haben die Diebe keine Chance :lol: Da fehlen mir nur noch ein paar Aktoren um die Schubladen und Schrankgriffe unter die Spannung setzen zu können.
Ich arbeite dran! :lol: Hoffentlich hast Du nen guten Tipp, wie ich es in Blockly reinprogrammieren kann. :mrgreen:
-
@rantaplan
ich habe gestern noch einmal die Funktion der Alarmanlage getestet und war immer noch nicht zufrieden.
Das Blockly für Sirene AUS (beim Fehlalarm) hat nicht funktioniert, bzw. war total viel zu träge…
Auch das Auslösen der Alarmanlage über die Fensterkontakte hat weiterhin ewig gedauert. Man konnte sehen, dass der Wert der Variable für Fensterkontakte in IObroker sehr spät geschaltet hatte... Komischerweise ging eine gelbe LED für die Fensterüberwachung sofort an, obwohl der Wert in IObroker noch nicht umgeschaltet war. Die Umschaltung der LED wird in der CCU gesteuert!
Ich habe noch einmal alle Programme durchgeschaut und dort war auch keine Verzögerung für das Auslösen der FKT eingebaut...
Über die BM´s lief alles zügig. Keine Ahnung weshalb dies so träge war. Das Zusammenspiel zwischen der CCU und IOBroker ist träge, wenn man die Variablen in der CCU abfragt!
Ich habe die Variable in der CCU für Fensterkontakte gelöscht. Für die Statusanzeige (bei mir eine gelbe LED) lasse ich separat alle Fensterkontalte über "und" abfragen.
Danach mein Blockly für die Fensterkontakte eben so angepasst, da die Variable in der CCU nicht mehr vorhanden war. Eben hier auch alle einzeln mit "und" abgefragt...
Ich glaube, dass Du diese Version bevorzugtest und fragtest weshalb ich es so umgesetzt habe :mrgreen:
Danach noch den Blockly für "Sirene AUS beim Fehlalarm" habe ich auf die CCU geschoben. Den dort ist die scharf/unscharf Schaltung für die Alarmanlage.
Jetzt geht alles zügig! Der Alarm wird sofort auch bei den Fenstekontakten ausgelöst, und eine Abschaltung der Sirene über die Funk-Handfernbedienung funktioniert auch auf anhieb :mrgreen:
Auch jetzt bekomme ich kein Duty Cycle mehr wenn ich ein paar mal hintereinander scharf/unscharf schalte.
Jetzt fehlt mir noch eine Außensirene, danach ist alles vollständig! Dazu habe ich mir ein Gehäuse bestellt, und werde dort den Akku der Außensirene mit einem Solarpanel laden lassen. Ein Laderregler und Akku ist ebenfalls bestellt. Da die Lieferung aus China kommt, werde ich noch ein paar Tage warten müssen, bis die Teile da sind. Die Ansteuerung werde ich mit dem Homematic 4-Fach Schaltaktor realisieren das bereits hier vor Ort ist. Über die zwei überbleibenden Ausgänge des Schaltaktors werden zusätzlich noch zwei LED (rot/grün) angesteuert. Die lasse ich für 15 sek. leuchten, damit ich auch von außen sehen kann, dass Alarm scharf/unscharf ist.
Falls Interesse da ist, kann ich ein paar Fotos der Außensirene hochlagen, wenn sie fertig ist.
Ich danke Dir sehr für deine Hilfe! ohne Dich würde das eine "unendliche Geschichte" sein bis ich alle Informationen zusammen hätte.
Gruß Lukas
-
` > Das mit dem "wegwerfen" hast Du missverstanden.
Wenn ich bei einem Gegenstand nur einmal einen Zustand ändern kann, kann ich ihn, wenn ich diesen Zustand nicht mehr brauche, nur wegwerfen.
Wird bei einer Getränkedose die Lasche geöffnet, hat die die Dose den Zustand offen. Diesen Zustand kann man nicht mehr ändern.
Also Dose leer -> dann entsorgen. `
Ich habe bei mir zu Hause Wired-Bewegungsmelder vom Typ PIR-13, die wie ein Taster fungieren. Laufe ich unterm BWM durch, wird der Zustand von TRUE auf TRUE aktualisiert und das blöderweise in einer enormen Geschwindigkeit (ich gebe zu, ich wollte mir das zugehörige Hardware-Zeitmodul sparen).
Freuen tut mich daran jedoch, dass das Ding immer sofort sendet.
Das nicht zu ignorierende Problem der fehlenden TRUE-FALSE Schaltung habe ich durch folgendes Blockly-Script umgangen.
Ich wollte erreichen, dass sich diese BWMs genau so verhalten wie meine HM-Funk BWMs:
Bei Bewegung setze den Zustand 30 Sekunden auf TRUE, danach auf FALSE - AUßER es wurde innerhalb der TRUE-Zeit eine Bewegung erkannt, dann setzte den Zustand nach Ablauf der 30 Sekunden wieder auf TRUE.
Um das mit meinen Wired-BWMs zu erreichen gehe ich folgendermaßen vor:
Ich starte einen CCU-CUXD-Timer (der auf der CCU im Vorfeld natürlich angelegt werden muss, hierbei muss man den Umweg über folgendes Skript gehen, das die aktuelle Timer-Zeit in IO-Broker zur Verfügung stellt http://forum.iobroker.net/viewtopic.php … 065#p47065), der bei der ersten erkannten Bewegung loslegt und nach unten zählt. Außerdem wird die Variable "BWM-Trigger.BWM-EG-Kueche" auf TRUE gesetzt.
Wird innerhalb der ersten 30 Sekunden keine Bewegung erkannt wird "BWM-Trigger.BWM-EG-Kueche" auf FALSE gesetzt.
Wird innerhalb der 30 Sekunden eine Bewegung erkannt wird dies in der Variablen "laeuft" signalisiert und bei CUXD-Timer Ende wird "BWM-Trigger.BWM-EG-Kueche" wieder auf TRUE aktualisiert.
Das letzte Verhalten wird so lange fortgeführt wie eine Bewegung im Raum vorhanden ist.
~~![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... a4a2edc2b0">http://forum.iobroker.net/download/file.php?mode=view&id=8962&sid=1b2d5ebed2712f2cfc874ba4a2edc2b0</link_text>" />
~~![](</s><URL url=)<link_text text="http://forum.iobroker.net/download/file ... a4a2edc2b0">http://forum.iobroker.net/download/file.php?mode=view&id=8963&sid=1b2d5ebed2712f2cfc874ba4a2edc2b0</link_text>" />
<block xmlns="http://www.w3.org/1999/xhtml" type="on" id="jN-#zXuTSl@D1v=#yNyD" x="-512" y="-336"><field name="OID">hm-rpc.1.MEQ0064264.8.PRESS_SHORT</field> <field name="CONDITION">any</field> <statement name="STATEMENT"><block type="controls_if" id="34pI@4Yrl7!|l4=CRKGy"><mutation else="1"></mutation> <value name="IF0"><block type="logic_compare" id="q{_3fMBf,:joHYbnjuTD"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="#u40fohd/0#5-9Hi`sBu"><field name="ATTR">val</field> <field name="OID">javascript.0.BWM-Trigger.BWM-EG-Kueche</field></block></value> <value name="B"><block type="logic_boolean" id="[0DFGRa2#8vG|6{;I)XD"><field name="BOOL">FALSE</field></block></value></block></value> <statement name="DO0"><block type="control" id="7VmWsPmP36zneQ?#T_7H"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.BWM-Trigger.BWM-EG-Kueche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="O?y(}B7euSGc/4i%@Mur"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="5}=40Kx-pjok5^w]dVGK"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.CUX2800001.12.TIMER_STOP</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="C,.R+2~ECvCKxKFDywl^"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="v]O)E3YKmwRxC33)NQ~s"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.CUX2800001.12.TIMER_SET</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="+v9U.52J?SibfW:TYRfv"><field name="NUM">32</field></block></value> <next><block type="debug" id="_ja@F#6aoY_c~C:q-Gt0" disabled="true"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="@gf0Er`vm=lrk7cd57m="><field name="TEXT">*** BWM-EG-Kueche Bewegung erkannt</field></shadow></value> <next><block type="timeouts_cleartimeout" id="do}itmD,Ri6}6`/g?WDQ"><field name="NAME">timeout</field> <next><block type="timeouts_settimeout" id="@47xyy%.aZo/*Lka4AVY"><field name="NAME">timeout</field> <field name="DELAY">30000</field> <statement name="STATEMENT"><block type="debug" id="%vt_,1OiYXLJ)q@L2sV`" disabled="true"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="jHV4|+1q%c24cXWN=l9A"><field name="TEXT">*** BWM-EG-Kueche Bewegung erkannt ausgeschaltet</field></shadow></value> <next><block type="control" id="5TC7ZrcSZjZhzJ8H#]*H"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.BWM-Trigger.BWM-EG-Kueche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="g%]RC|-:8x!c[Xm|LFDj"><field name="BOOL">FALSE</field></block></value> <next><block type="control" id="A-7:%_cNooGQ=Lf._ZPl"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.CUX2800001.12.TIMER_STOP</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="d8GLBxt%d2lA`}/Y7EG3"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></statement></block></next></block></next></block></next></block></next></block></next></block></statement> <statement name="ELSE"><block type="debug" id="_s:36w;+Z2)`yQ8@U^z8" disabled="true"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="pm[0loY!WI;I}ktve*]~"><field name="TEXT">*** BWM-EG-Kueche weitere Bewegung erkannt</field></shadow></value> <next><block type="variables_set" id="R(B//:)#Atcd{jqdyp[#"><field name="VAR">laeuft</field> <value name="VALUE"><block type="logic_boolean" id="lrMeMNY^Ah~Wv+EqG+}j"><field name="BOOL">TRUE</field></block></value> <next><block type="timeouts_cleartimeout" id="wAiF%IQm,Op!J=3Gc(k2"><field name="NAME">timeout</field> <next><block type="timeouts_cleartimeout" id="W]]G*ZH/l/bma*`%tWZ@"><field name="NAME">timeout2</field> <next><block type="timeouts_settimeout" id="KLnkUldi6rQw#lrpbcz]"><field name="NAME">timeout2</field> <field name="DELAY">30000</field> <statement name="STATEMENT"><block type="variables_set" id="=`plQLK|:-+H.A+8@k7z"><field name="VAR">laeuft</field> <value name="VALUE"><block type="logic_boolean" id="J^pamf^Om28-~DFvF=_r"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></statement></block></statement></block>
<block xmlns="http://www.w3.org/1999/xhtml" type="on" id=":dhdWi6L/u`CX3Wh~ZFk" x="363" y="-362"><field name="OID">javascript.0.CUXD-Countdown.timer112</field> <field name="CONDITION">any</field> <statement name="STATEMENT"><block type="controls_if" id="c/fiAGecqi{21oeO^4j6"><mutation elseif="1"></mutation> <value name="IF0"><block type="logic_operation" id="N;n~b(`{7*-Q5Zwu3H:7" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="Zq/(!1_TCYOk0.]WRTy3"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="g@YJ`6TS=W0=RthB.)xu"><field name="ATTR">val</field> <field name="OID">javascript.0.CUXD-Countdown.timer112</field></block></value> <value name="B"><block type="math_number" id="(Bd/kBR95Yp)H:b4kZ}6"><field name="NUM">2</field></block></value></block></value> <value name="B"><block type="logic_compare" id="Gbihy,|]keY:#QRP81HX"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="]#~%Cz!kpp0YI5?(e+}+"><field name="VAR">laeuft</field></block></value> <value name="B"><block type="logic_boolean" id="j=jYrpQ{XGo`Ez3##Gu6"><field name="BOOL">TRUE</field></block></value></block></value></block></value> <statement name="DO0"><block type="control" id="|D7IP[R^RME}(Op4n224"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.BWM-Trigger.BWM-EG-Kueche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="iy+Q-yhCi@ev[tYk;~+u"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="Q(2`,B875(-zG2v+SgVC"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.CUX2800001.12.TIMER_STOP</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="_op{Xc,o)=k`4jbfZ.R2"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="P,u6ftK]sC3*}w}nl1Kz"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.CUX2800001.12.TIMER_SET</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="math_number" id="eom:9^86ZN-*1^dx5/=P"><field name="NUM">32</field></block></value></block></next></block></next></block></statement> <value name="IF1"><block type="logic_operation" id="[8:eMAS_rG5O93cW0fXh" inline="false"><field name="OP">AND</field> <value name="A"><block type="logic_compare" id="+G_-Xi3=!w%B+8PGTM)W"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="7cSzQ}DeJH[._2j%xru="><field name="ATTR">val</field> <field name="OID">javascript.0.CUXD-Countdown.timer112</field></block></value> <value name="B"><block type="math_number" id="#NHTIldGr6gcy6g+q83o"><field name="NUM">2</field></block></value></block></value> <value name="B"><block type="logic_compare" id="~IC[{:gV]@hNY,MkCzdN"><field name="OP">EQ</field> <value name="A"><block type="variables_get" id="Li[*zBFzZ*2.4oABE](f"><field name="VAR">laeuft</field></block></value> <value name="B"><block type="logic_boolean" id="/V?-[}A?{uQ/z0Rq(d71"><field name="BOOL">FALSE</field></block></value></block></value></block></value> <statement name="DO1"><block type="control" id="K|(=QCI2r;10_PS!9L~1"><mutation delay_input="false"></mutation> <field name="OID">hm-rpc.2.CUX2800001.12.TIMER_STOP</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="HX?JXIZ_5adh7YfD1h6~"><field name="BOOL">TRUE</field></block></value> <next><block type="control" id="I]GxlmC%03Z)2MJsL|/l"><mutation delay_input="false"></mutation> <field name="OID">javascript.0.BWM-Trigger.BWM-EG-Kueche</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="logic_boolean" id="+kQ3(g),]DIhUU.-y;8-"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block>
Eventuell hilft das hier jemandem weiter für seine Hardware…~~~~
1284_bildschirmfoto_2017-02-14_um_07.45.07.png
1284_bildschirmfoto_2017-02-14_um_07.45.17.png -
Hi Brufi,
dein Timer gefällt mir.
Ich würde gerne beim Betätigung eines Fensterkontaktes den Timer laufen lassen. Wenn innerhalb des Timers (Zeit=zb. 10min) ein von drei Bewegungsmeldern eine Bewegung erkennt, so würde ich gerne die Außensirene ansteuern. Zur Zeit habe ich es so realisiert, dass etwender der Fenterkontakt oder ein Bewegungsmelder die Alarmanlage auslösen kann.
Mit dem Timer würde ich es auf jeden Fall die Fehlalarme minimieren.
Sobald Fenter/Tür auf und eine Bewegung innerhalb von 10min. erkannt dann Alarm!
Denn jetzt, wenn ich den Alarm scharf schalte und meine Tochte in der Nacht die Küche betritt weil sie Durst hat, geht die Alarmanlage los. Mit dem Timer würde ich es vermeiden.
Kannst Du etwas zu dem Timer näher erzählen? Muß ich neues Script auf der CCU erstellen und den Inhalt hereinkopieren? Wie gehe ich am besten vor?
Der Timer ist dann in IObroker sichtbar ? Wo genau? und hat dann den Wert false oder true???
Bitte um Hilfe…
EDIT: Hier habe ich eine schöne Beschreibung gefunden um den Timer zu erstellen: http://homematic-forum.de/forum/viewtop ... 56#p150127
soll ich nach der Beschreibung gehen?
EDIT2:
ich muß noch einmal min Wunsch korriegieren. Ich habe zwei Blocklys zum Auslösen der Alarmanlage.
Ein für Bewegungsmelder, das andere für die Fensterkontakte. Alles funktioniert bis auf die Tatsache, dass niemand zu Hause die Bewegungsmelder passieren kann, sobald die Alarmanlage scharf ist. Ich habe folgendes überlegt.
Sollte niemand zu Hause sein, so müßte ich den Timer mit den Fensterkontakten triggern.
Wenn Fensterkontakt ausgelösst - dann Timer starten
wenn Timer aktiv und dazu eine Bewegung (Bewegungsmelder) erkannt - dann Alarm.
Sollten wir zu Hause sein, die Alarmanlage ist scharf, und meine Tochte geht in die Küche, was den Bewegungsmelder auslöst…
Wenn Bewegung erkannt - dann Timer starten
Wenn Timer aktiv und dazu ein Fenster/Tür Kontakt ausgelöst - dann Alarm
(Dies würde dazu führen, dass alleine die Bewegung am Bewegungsmelder kein Alarm auslösen lässt. Erst ein öffnen der Tür/Fensterkontakte würde ein Alarm auslösen. Da die Bewegungsmelder auf die Fenster und Türe gerichtet sind, sollte unmitelbar beides Zeitgleich auslösen!
Habt Ihr eine Idee, wie ich es besser umsetzen soll?
Braucht ich dazu zwei Timer? Oder reicht es, wenn ich nur ein Timer in der CCU erstelle?
-
ich muß noch einmal min Wunsch korriegieren. Ich habe zwei Blocklys zum Auslösen der Alarmanlage.
Ein für Bewegungsmelder, das andere für die Fensterkontakte. Alles funktioniert bis auf die Tatsache, dass niemand zu Hause die Bewegungsmelder passieren kann, sobald die Alarmanlage scharf ist. Ich habe folgendes überlegt.
Sollte niemand zu Hause sein, so müßte ich den Timer mit den Fensterkontakten triggern.
Wenn Fensterkontakt ausgelösst - dann Timer starten
wenn Timer aktiv und dazu eine Bewegung (Bewegungsmelder) erkannt - dann Alarm.
Sollten wir zu Hause sein, die Alarmanlage ist scharf, und meine Tochte geht in die Küche, was den Bewegungsmelder auslöst…
Wenn Bewegung erkannt - dann Timer starten
Wenn Timer aktiv und dazu ein Fenster/Tür Kontakt ausgelöst - dann Alarm
(Dies würde dazu führen, dass alleine die Bewegung am Bewegungsmelder kein Alarm auslösen lässt. Erst ein öffnen der Tür/Fensterkontakte würde ein Alarm auslösen. Da die Bewegungsmelder auf die Fenster und Türe gerichtet sind, sollte unmitelbar beides Zeitgleich auslösen!
Habt Ihr eine Idee, wie ich es besser umsetzen soll?
Braucht ich dazu zwei Timer? Oder reicht es, wenn ich nur ein Timer in der CCU erstelle? `
Hi knopers1Finde ich alles etwas kompliziert. Zuviele Wenn's und Aber's und dann noch auf zwei unterschiedlichen Systemen.
Das kann nur schief gehen.
Du mußt eindeutige Bedingungen/Zustände schaffen.
Warum soll die Alarmanlage scharf sein, wenn jemand zuhause ist und in die Küche geht?
Grüße
-
Hi knopers1
Du mußt eindeutige Bedingungen/Zustände schaffen.
Warum soll die Alarmanlage scharf sein, wenn jemand zuhause ist und in die Küche geht?
Grüße `
Hi Rantaplan,
gute Frage. Evtl. mache ich es unnötig kompliziert…wer weiss... Ich bewohne ein Haus mit drei Etagen. In der Theorie, könnte jemand nachts unten ins Haus unbemerkt einbrechen, da unsere Schlafräume sich oben befinden. Deshalb da auch meine Idee den Alarm scharf zu schalten, wenn man nachts schlafen geht.
Den Timer könnte man aber auch für andere Zwecke einbauen. Ich würde gerne wissen, wie ich den herstellen kann. Ich habe vorerst ein Timer nach der Anleitung (obern Verlinkt)) gemacht! Wozu den noch das Script vom brufi??? Fragen über Fragen...
1526_unbenan5t.png -
Ja, Alarmanlage ist kompliziert.
Und ganz individuell.
Am Besten erst auf Papier anfangen.
Eventuell Alarm aufteilen.
Was soll wann überwacht werden.
Nur Schutz für "Außenhaut" (Fenster/Türen) wenn man Nachts schläft und sich noch Leute im Haus bewegen können.
Schutz außen und innen wenn niemand da.
Usw.
Usw.
Grüße
-
Hallo,
meine Außensirene ist fertig, nur noch an die Wand muß ich das Teil dran schrauben….
Die Sirene mußte ich über einen Relai ansteuern. Strom den sie zieht bei 12V ist um die 3A, was die Obergrenze für den Homematic 4 Fach Schaltaktor ist. Die Sirene habe ich an den Kanal 1 angeschlossen.
Der zweite Kanal belegt die Blitz-LED. Hierbei geht es direckt über den Schaltaktor. (35mA) gerade mal ...
Kanal 3 & 4 belegen am Gehäuse montierten LED´s (Rot und Grün). Dort bekomme ich den Zustand beim Scharf/Unscharf Schalten, wenn ich vor der Tür stehe. Das ganze ist an einem 6 Ah Akku angeschlossen. An der Seite habe ich eine Ladebuchse eingebaut, damit ich das Teil wenn der Akku leer ist nachladen kann. Sollte aber wenn es hoch kommt einmal im Jahr ausreichend sein. Den Solarpanel lasse ich weg, ich habe zwar den ganzen Kram hier, bekomme aber trotzden so gut wie kein Ladestrom. Der Einbauort lässt so gut wie keine Sonne auf den Solarpanel drauf. Schade, aber es geht halt nicht anderes....
Hier noch zwei Bilder von mir...
Gruß Lukas
1526_img_20170225_185221.jpg
1526_sir2.jpg -
Dein Beispiel auf Seite 2 gefällt mir super und ist auch verständlich erklärt.
Was ich leider nicht verstehe, wo wird die Alarmanlage als solches denn eingeschalten?
Das ist doch nicht die boolsche Variable? Die ist doch nur zum überprüfen? Oder?
-
Hallo Superdad
In dem Beispiel geht es darum eine "Alarmanlage" erst scharf zu schalten wenn einige Bedingungen erfüllt sind.
Dafür gibt es die Hilfsvariable "bolAlarmSchalten".
Wenn diese auf TRUE/WAHR gesetzt wird, erfolgt eine Überprüfung ob alle Fenster und Türen geschlossen sind.
Ist alles OK wird die eigentliche "Alarmanlage" aktiviert. In dem Beispiel "bolAlarm" = TRUE/WAHR.
Jetzt benötigst Du natürlich noch ein "Alarmanlage" Blockly.
Damit triggest Du Deine Fenster/Türen, Bewegungsmelder usw.
z.B.
Falls Fenster=Offen und bolAlarm = wahr
mache verschickeMail
Ich hoffe ich habe mich verständlich ausgedrückt.
Betonen möchte ich auch noch, dass HM Komponenten KEINE richtige Alarmanlage ersetzen!
Grüße
-
Danke für die Antwort.
Habe noch keine Sirene oder sonstiges.
Will das alles nur einmal durchspielen.
Muss noch einmal fragen.
Im Zündvorgang wird also geprüft ob sozusagen alles ok ist? Alle Türen und Fenster geschlossen usw. Sonst keine Aktivierung.
Bei der Überwachung ist dann also der Auslöser für den Alarm drin? Wenn eine Tür geöffnet wird oder ein Fenster oder BWM?
Das Objekt javascript.1.bolAlarmAktivieren ist ein Script was angelegt werden muss? Um es mit einem Handsender oder Schalter zu aktivieren? Richtig?
Wie muss dieses in Blockly aussehen?
Bin leider etwas konfus und nicht so bewandert in Blockly und Javascript.
-
Im Zündvorgang wird also geprüft ob sozusagen alles ok ist? Alle Türen und Fenster geschlossen usw. Sonst keine Aktivierung. `
Richtig.Aktivierung bedeutet die Variable bolAlarm wird auf WAHR gesetzt.
@Superdad:Das Objekt javascript.1.bolAlarmAktivieren ist ein Script was angelegt werden muss? Um es mit einem Handsender oder Schalter zu aktivieren? Richtig? `
javascript.1.bolAlarmAktivieren??Du meinst javascipt.1.bolAlarmSchalten?
In dem Beispiel ist dies auch eine boolsche Variable, die man über VIS schaltet.
Wenn Du das über einen Handsender machen willst, brauchst Du diese Variable nicht.
Dann musst Du aber dort wo "bolAlarmSchalten" schalten steht, den Datenpunkt Deines Handsenders eintragen "PressShort" oder "PressLong".
@Superdad:Wie muss dieses in Blockly aussehen?
Wurde hier im Thread schon mal alles beschrieben.
Bin leider etwas konfus und nicht so bewandert in Blockly und Javascript.
Macht nichtsEinfach mal ausprobieren.
Falls es noch Fragen gibt, kann es etwas dauern bis ich antworte.
Bin in den nächsten 3-4 Tagen auf einer polnischen Hochzeit mit reichlich russischen Gästeanteil.
Melde mich dann wenn ich wieder unter den Lebenden weile
Grüße
-
Da wird ja der Wodka in Strömen fliessen!
Vielen Dank für deine Geduld.