NEWS
Kleine Alarmanlage - mit Blockly?
-
Lol nee ich hab nur 6Zoll taschen an der Hose und für 10 Zoll wollte ich keine Nähmaschiene kaufen.
zurück, also das was du hast soll im etwa dem entsprechen was ich zu hause habe. möchte halt nur langsam anfangen und auch was lernen.
Genau den Verteiler habe ich auch zu hause und ein blitzlich mit piezo dran hängen.
Natürlich sollen später auch noch 2 bis 3 Bewegungsmelder dazu kommen. Nur bringt mir nichts wenn ich nicht weiss wie man es am besten programmiert.
Pass uff mein Endgedanke zum entschärfen war. ohne Fernbedienung, sondern mit einem Nur zum freischalten altes Handy zu benutzen. dieses ist im Eingang. man soll nach eintritt durch die haustür 1 min. Zeit haben zum entschärfen mit Ansage. kommt jemand durch die küche oder Wohnzimmer rein. und der bewegungsmelder wie auch der fensterkontakt reagiert. geht innerhalb von 15 sec. ein alarm los.
Aber ist ist die theorie. jetzt muss ich nur wissen wie man es am besten umsetzt ^^
Warte machen wir mal Anders
:!: :!: :!: :!: <size size="200">HILFEEEEE</size> :!: :!: :!: :!:
-
Hallo Desa
Also vorerst, @Rantaplan du hast recht man sollte klein anfangen. `
Das mit dem "klein anfangen" betrifft auch die Fragen.
"Ich möchte eine Alarmfunktion mit Blockly realisieren, wie mache ich das?" ist einfach zu komplex.
Zumal man den Wissensstand des Fragenden nicht kennt. Wo soll der Helfende da anfangen?
"Kleine Fragen" wie "Ich möchte mit Blockly einen Bewegungsmelder abfragen, wie geht das?"
Und am besten noch ein Screenshot von dem Versuch. Da kann ein Helfender schnell reagieren.
Aus Deinem Beitrag entnehme ich, dass Du bei Blockly und bei VIS noch ziemlich am Anfang stehst.
Ich glaube Du bist noch auf der Suche nach dem "AHA-Erlebnis".
Mal schauen, ob ich Dir einen Schubser geben kann.
Ich sage was ich möchte und hoffe Antworten zu bekommen 8-) `
Jawoll Sir!Die hauptfrage wie lang darf ein ablauf sein bevor er instabil wird und laggt das sys bei zu grossen aufgaben. `
Das kommt darauf an, wodrauf Dein ioBroker läuft. Aber alles ist perfomanter als die CCU.Riesen Scripts sollte man sowieso nicht bauen. Lieber alles in kleinen überschaubaren Häppchen.
Weiter verstehe ich das mit der ID nicht. `
Schau mal im ioBroker.admin im Reiter Objekte.Klappe dann mal z.B. "hm-rpc.0" auf (kleines Pfeilchen ganz links).
Da werden alle Deine Geräte aufgeführt. Jedes Gerät kann man weiter aufklappen und die jeweitigen Datenpunke werden angezeigt.
Diese Anzeige/Auswahl bekommst Du auch, wenn man in Blockly oder VIS auf das Eingabefeld klickt wo "Objekt-ID" steht.
Wenn Du die Solltemperatur an einem Wandthermostat anzeigen/ändern willst klickst Du Dich bis zu dem Datenpunkt "setpoint" durch und klicktst "übernehmen" an.
Fertig!
Noch ein kleiner Tip. Wenn Du viele Geräte/Variablen hast, ist der Filter "Name" sehr hilfreich.
Deine System Variablen auf der CCU findest Du unter "hm-rega.0".
wie kann ich denn einen reinen Block ohne aktivierung erstellen ? `
Was soll das bringen? Das Script wird bei Programmstart einmal durchlaufen und das war's.Bei der Automation läuft es nach Zeitabschitten (alle 5 Min, 1x die Woche…) oder nach Zustandsänderungen (Bewegungmelder hat Bewegung erkannt...mach was.)
Hoffe ihr könnt mir das erklären damit ich da irgendwie rein komme. `
Ich hoffe das ein oder andere "AHA-Erlebnis" war dabei.Probiere einfach mal etwas aus.
Wenn es dann klemmt, Bildchen rein und Frage stellen.
Hier gibt es eine angefangene deutsche Übersetzung.https://github.com/Homoran/ioBroker.jav … schreibung
Grüße
-
Wer kennst sich aus? Wie kann ich mit Blockly eine Systemvariable mit einem Logikwert erstellen? Ich muß erst irgendwo anfangen…Hilfe `
Hallo knoper1
Du kannst auch die Systemvariablen Deiner CCU nehmen. 90% meiner Variablen liegen auf der CCU.
Wie man Variablen, mit Blocky, auf ioBroker anlegt, habe ich hier mal beschrieben.http://forum.iobroker.net/viewtopic.php?f=21&t=4818
Grüße
-
Jaa da isser ^^ Aha leider nein :oops:
Also vorerst zur Hardware, ich habe nen Raspi 2 und 3 mit jessi min liegen. arbeite zur zeit mit dem zweier.
Zur verbindung. Hm Modul gesteckt, Zwave über dongle / Stick.
Wo ich die i her bekomme und wie ich sie schalten muss ist mir alles klar.
mir macht der ablauf in blocky probleme.
Hoffe ich kann es dir erklären . nehmen wir mal das beispiel auf der Seite,
Woher bekommt man die ID "Bewegung". wie kann ich die Anlegen ?
Der Haltepunkt fehlt mir zur Sortierung
-
Jaa da isser ^^ Aha leider nein :oops:
Hoffe ich kann es dir erklären . nehmen wir mal das beispiel auf der Seite,
Woher bekommt man die ID "Bewegung". wie kann ich die Anlegen ?
Der Haltepunkt fehlt mir zur Sortierung `
Ja, ich muss gestehen, dass ist etwas verwirrend. :oops:
"Bewegung" ist eine Variable, die man natürlich nicht hat, wenn man das Blockly importiert.
"Bewegung" steht da nur symbolisch für den Datenpunkt "MOTION" eines Bewegungsmelder.
Genau so wie "Außentemperatur". Das steht symbolisch für den Datenpunkt "aktuelle Temperatur" eines Temperatur-Außenfühlers.
Ich wollte das immer nochmal in die Beschreibung einfügen.
Aber die Übersetzung stockt zur Zeit etwas, weil ich den Ableich auf Github nicht hinbekomme.
Grüße
-
aber wie bekomme ich das Bild mit Blockly verknüpft.
Dazu muss ich doch iwie einen Ablauf zu einer id machen oder nicht
Glaube zu verstehen was du meinst. aber die verbidnung zur vis fehlt mir
wie hier z.b. http://forum.iobroker.net/viewtopic.php … =countdown
Hätte das gerne ähnlich wie hier. weiss aber auch net wie er das mit dem Schild gemacht hat
-
So, Also habe das jetzt mal zusammengesetzt wie ich das dachte. fehlen nur die verbindungen
http://www.bilder-upload.eu/show.php?file=3321c9-1485374749.jpg ~~Ich hoffe das ist so richtig. das halt mal 4
! // VIS Schalter Alarm aus
! on({id: "Object ID", val: true, ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! (function () {if () {clearSchedule(); = null;}})();
! });
! // VIS Schalter Alarm an
! on({id: 'default', val: true, ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! // Fensterkontakt WZ 1
! on({id: "hm-rpc.0.NEQ1507095.1.STATE"/HM-Sec-SCo NEQ1507095:1.STATE/, val: true, ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! // Bewegungsmelder WZ
! on({id: 'default', change: "ne", ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! setState("sayit.0.tts.text", "de;" + 'Stiller Alarm ist Aktiv ');
! console.log("sayIt[de]: " + 'Stiller Alarm ist Aktiv ');
! setState("Object ID", );
! setStateDelayed("zwave.0.NODE4.SWITCH_BINARY.Switch_1"/Switch/, 'default', 6000, false);
! setState("Object ID", );
! setState("sayit.0.tts.text", "de;" + 'Lauter Alarm wird aktiviert');
! console.warn("sayIt[de]: " + 'Lauter Alarm wird aktiviert');
! });
! });
! on({id: "hm-rpc.0.NEQ1507113.1.STATE"/HM-Sec-SCo NEQ1507113:1.STATE/, val: true, ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! // Bewegungsmelder WZ
! on({id: 'default', change: "ne", ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! setState("sayit.0.tts.text", "de;" + 'Stiller Alarm ist Aktiv ');
! console.log("sayIt[de]: " + 'Stiller Alarm ist Aktiv ');
! setState("Object ID", );
! setStateDelayed("zwave.0.NODE4.SWITCH_BINARY.Switch_1"/Switch/, 'default', 6000, false);
! setState("Object ID", );
! setState("sayit.0.tts.text", "de;" + 'Lauter Alarm wird aktiviert');
! console.warn("sayIt[de]: " + 'Lauter Alarm wird aktiviert');
! });
! });
! on({id: "hm-rpc.0.NEQ1109723.1.STATE"/HM-Sec-SC-2 NEQ1109723:1.STATE/, val: true, ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! // Bewegungsmelder WZ
! on({id: 'default', change: "ne", ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! setState("sayit.0.tts.text", "de;" + 'Stiller Alarm ist Aktiv ');
! console.log("sayIt[de]: " + 'Stiller Alarm ist Aktiv ');
! setState("Object ID", );
! setStateDelayed("zwave.0.NODE4.SWITCH_BINARY.Switch_1"/Switch/, 'default', 6000, false);
! setState("Object ID", );
! setState("sayit.0.tts.text", "de;" + 'Lauter Alarm wird aktiviert');
! console.warn("sayIt[de]: " + 'Lauter Alarm wird aktiviert');
! });
! });
! on({id: "hm-rpc.0.NEQ0758032.1.STATE", val: true, ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! // Bewegungsmelder WZ
! on({id: 'default', change: "ne", ack: false}, function (obj) {
! var value = obj.state.val;
! var oldValue = obj.oldState.val;
! setState("sayit.0.tts.text", "de;" + 'Stiller Alarm ist Aktiv ');
! console.log("sayIt[de]: " + 'Stiller Alarm ist Aktiv ');
! setState("Object ID", );
! setStateDelayed("zwave.0.NODE4.SWITCH_BINARY.Switch_1"/Switch/, 'default', 6000, false);
! setState("Object ID", );
! setState("sayit.0.tts.text", "de;" + 'Lauter Alarm wird aktiviert');
! console.warn("sayIt[de]: " + 'Lauter Alarm wird aktiviert');
! });
! });
! });
! // Vis Schalter Alarm an
! // Bewegungsmelder
! // Vis Alarm Bild
! // Alarm Sirene~~ -
Bitte keine verlinkten Bilder hier reinstellen!!
Die schaut sich keiner an.
Und nicht das javasript einstellen, sondern den EXPORT.
(Die kleinen Pfeilchen links neben "Blöcke prüfen"
Grüße
-
aber wie bekomme ich das Bild mit Blockly verknüpft.
Dazu muss ich doch iwie einen Ablauf zu einer id machen oder nicht
Glaube zu verstehen was du meinst. aber die verbidnung zur vis fehlt mir
wie hier z.b. http://forum.iobroker.net/viewtopic.php … =countdown
Hätte das gerne ähnlich wie hier. weiss aber auch net wie er das mit dem Schild gemacht hat `
Hallo Desa
Du stellst von VIS keine direkte Verbindung zum Blockly her.
Die Verbindung sind immer Geräte-Datenpunke oder Variablen.
Nimm mal in VIS das hqWidget, wo eine Glühlampe drauf ist.
Dieses Widget verbindest Du (Objekt ID) mit Deiner Systemvariablen "Anwesenheit" auf der CCU.
Finden tust Du die in der Auswahl unter "hm-rega"
Beende "VIS-Edit" und klicke dann auf das Lampen Widget.
Bei jedem Klick wird die Lampe anders dargestellt. Mal hell (an) mal dunkel (aus).
Du "schaltest" jetzt aber keine Lampe sondern Deine Variable "Anwesenheit"
Kannste in der CCU WebUI überprüfen.
Widget AN –> "Anwenheit" = wahr
Widget AUS --> "Anwesenheit = falsch
"Anwesenheit" ist eine sogenannte "boolsche" Variable.
Die kann nur zwei Zustände / Werte annehmen falsch/wahr 0/1.
Jetzt baust Du Dir ein Blockly mit einem Trigger, der die Variable "Anwesenheit" überwacht.
Falls Objekt (ID Deiner Anwesenheit)
geändert wurde
Falls Wert von Anwe.. ist wahr
mache .........
sonst ...........
usw. usw.
Grüße
-
Ok. Jetzt ist offiziell ich bin komplett verwirrt.
Warte also nicht das ich jetzt ganz doof bin oder werde. Ich fang mal nochmal an.
Ich habe einen zweier Pi mit HM Modul und Zwave Stick. benutze die SW nur zum einloggen / anmelden / registrieren der Geräte. habe dort nichts weiter eingetragen. Zum Zuordnen habe ich Vis genommen. Mein Hauslayout erstellt, fenster kontakte eingetragen mit kleinen Lämpchen und einzelnd dargestellten fenstern unten.
Weiter habe ich dort jetzt 3 Steckdosen eingebettet und kann auch sauber schalten. wird angezeigt alles io. kann auch mit sprache ein aus schalten soweit alles ok.
Das mit dem Bild verwirrt mich nun ein wenig. Entweder reden wir an einander vorbei und ich verstehe nicht was du damit meinst, vorallem da ich nichts in dem verzeichnis habe oder du vermutest ich stehe noch gaaaaanz weit am anfang ^^
Ich würde gerne eine Objekt ID ( Blanko ) erstellen die es mir erlaubt den Baum zu vervollständigen.
Das etwas wann geschaltet werden soll ist OK. aber ich dachte an einen zwischenpunkt
Also ich erstelle einen ID Punkt wohnzimmer und wenn der reagiert kann ich den nächsten ablauf zu den geräten ansteuern oder halt say ect.
-
ich bin Stück weiter… vielen Dank Rantanplan
Auf der CCU2 habe ich eine neue Systemvariable mit dem Namen Alarmanlage erstellt.
Als Variabletyp habe ich den Logikwert genommen, mit den Werten wahr=scharf & falsch=unscharf
Diese Variable finde ich jetzt im Iobroker unter HM-Rega. Mit dem Lampen-Widget kann ich aus dem VIS den Zustand der Alarmanlage scharf/unscharf schalten. Der Wert ändert sich auch von true auf false, wenn ich den Lampenwidget betätige.
So wie es aussieht, funktioniert das schalten aus dem VIS ohne Probleme. Jetzt würde ich gerne noch zwei Funk-Handsender implementieren, damit ich die Alarmanlage damit scharf/unscharf schalten kann.
Meine Frage. Spricht etwas dagegen wenn ich parallel dazu unter CCU2 die zwei Funk-Handsender von der Homematic hinzufüge?
als Beispiel:
Bedingung: Wenn…
Geräteauswahl - Handsender Taste 1 - bei Tastendruck kurz
ODER
Geräteauswahl - Handsender Taste 1 - bei Tastendruck lang
Aktivität: Dann...
Systemzustand - Alarmanlage - sofort – scharf (oder mit verzögerung)...
Bedingung: Sonst Wenn...
Geräteauswahl - Handsender Taste 2 - bei Tastendruck kurz
ODER
Geräteauswahl - Handsender Taste 2 - bei Tastendruck lang
Aktivität: Dann...
Systemzustand - Variable Alarmanlage - sofort – unscharf
Denn so, hätte ich bereits ein Programm auf der CCU2 um die Alarmanlage schalten zu können ohne dass ich dazu Blockly benutzen müßte. Deswiteren gibt es weiterhin die Möglichkeit mit dem Widget aus dem VIS haraus die Alarmanlage zu schalten.
Den rest würde ich gerne mit Blockly weitermachen, da ich einige Bewegungsmelder nicht von der Homematic mit einbinden wollte.
Spricht etwas dagegen?
-
Ok. Jetzt ist offiziell ich bin komplett verwirrt.
Warte also nicht das ich jetzt ganz doof bin oder werde. Ich fang mal nochmal an.
Ich habe einen zweier Pi mit HM Modul und Zwave Stick. benutze die SW nur zum einloggen / anmelden / registrieren der Geräte. habe dort nichts weiter eingetragen. Zum Zuordnen habe ich Vis genommen. Mein Hauslayout erstellt, fenster kontakte eingetragen mit kleinen Lämpchen und einzelnd dargestellten fenstern unten.
Weiter habe ich dort jetzt 3 Steckdosen eingebettet und kann auch sauber schalten. wird angezeigt alles io. kann auch mit sprache ein aus schalten soweit alles ok.
Das mit dem Bild verwirrt mich nun ein wenig. Entweder reden wir an einander vorbei und ich verstehe nicht was du damit meinst, vorallem da ich nichts in dem verzeichnis habe oder du vermutest ich stehe noch gaaaaanz weit am anfang ^^
Ich würde gerne eine Objekt ID ( Blanko ) erstellen die es mir erlaubt den Baum zu vervollständigen.
Das etwas wann geschaltet werden soll ist OK. aber ich dachte an einen zwischenpunkt
Also ich erstelle einen ID Punkt wohnzimmer und wenn der reagiert kann ich den nächsten ablauf zu den geräten ansteuern oder halt say ect. `
Hallo Desa
Ich kann mich Dir anschließen, weis jetzt selbst nicht mehr wo oben und unten ist :roll:
Keine Ahnung was Du vorhast. Wir reden wahrscheinlich wirklich aneinander vorbei.
Ich rede hier über Blockly und VIS auf ioBroker.
PI, Zwave Stick usw. interessieren dabei nicht.
@Desa:benutze die SW nur zum einloggen / anmelden / registrieren der Geräte. habe dort nichts weiter eingetragen. `
Was meinst Du damit? Ist SW bei Dir ioBroker oder was?Was willst Du mit einer "Blanko ID" (so etwas gibt es auch nicht).
Von welchem "Baum" und "Bild" redest Du?
Fangen wir nochmal bei Null an.
Versuche mir nochmal Dein Anliegen zu erklären aber laß diesmal das ganze Drumherhum weg.
Das kriegen wir schon irgendwie hin. Wäre doch gelacht 8-)
Grüße
-
Denn so, hätte ich bereits ein Programm auf der CCU2 um die Alarmanlage schalten zu können ohne dass ich dazu Blockly benutzen müßte. Deswiteren gibt es weiterhin die Möglichkeit mit dem Widget aus dem VIS haraus die Alarmanlage zu schalten.
Den rest würde ich gerne mit Blockly weitermachen, da ich einige Bewegungsmelder nicht von der Homematic mit einbinden wollte.
Spricht etwas dagegen? `
Grundsätzlich spricht nichts dagegen. Zu Begin hatte ich auch noch Scripte auf der CCU.
Jetzt gibt es da nur noch Systemvariablen und Direktverknüpfungen.
Mein ganzes System (ioBroker/CCU) läuft schon seit Monaten so stabil und zuverlässig wie nie zuvor.
Grüße
-
Hab mal Ein Bild angehangen wie ich mir das vorstelle
Also soll noch viel mehr rein, aber ohne punkt wird das nix ^^
Im Rega Verzeichnis habe ich nichts eingetragen . Die angemeldeten Adapter liegen alle im rpc verzeichnis ( und Zwave )
Vorstellung
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="Z22BrYaZcq=d@t4Egngz" x="63" y="-437"><field name="COMMENT">VIS Schalter Alarm aus</field>
! <next><block type="on" id="/hH~1sjd]t?r}(-{Ou"><field name="OID">Object ID</field>
! <field name="CONDITION">true</field>
! <field name="ACK_CONDITION">false</field>
! <statement name="STATEMENT"></statement>
! <next><block type="comment" id="bTX1!Jg{E%0X}rx%!%hS"><field name="COMMENT">VIS Schalter Alarm an</field>
! <next><block type="on_ext" id="-{Hx6T/sZ#v+!5l-3LPy"><mutation items="1"></mutation>
! <field name="CONDITION">true</field>
! <field name="ACK_CONDITION">false</field>
! <value name="OID0"><shadow type="field_oid" id="%R6ZF~I%jNLYv[WHpx^K"><field name="oid">default</field></shadow></value>
! <statement name="STATEMENT"><block type="comment" id="I!.D#,itjKUDMIJl/.:"><field name="COMMENT">Fensterkontakt WZ 1</field>
! <next><block type="on" id="Ew|.;i35!}b1}tdU|6m"><field name="OID">hm-rpc.0.NEQ1507095.1.STATE</field> ! <field name="CONDITION">true</field> ! <field name="ACK_CONDITION">false</field> ! <statement name="STATEMENT"><block type="comment" id="(JPt3!E?oln(,b_2Ml,:"><field name="COMMENT">Bewegungsmelder WZ</field> ! <next><block type="on_ext" id="R^k2mThONX_2}JqK8A-R"><mutation items="1"></mutation> ! <field name="CONDITION">ne</field> ! <field name="ACK_CONDITION">false</field> ! <value name="OID0"><shadow type="field_oid" id="2RqB(Xfhrfk~hJARy:.Z"><field name="oid">default</field></shadow></value> ! <statement name="STATEMENT"><block type="sayit" id="fGS3.)F#+8ns3Z/n^VKJ"><field name="INSTANCE">.0</field> ! <field name="LANGUAGE">de</field> ! <field name="LOG">log</field> ! <value name="MESSAGE"><shadow type="text" id="6ymsOAjm/jpYhD9mHthd"><field name="TEXT">Stiller Alarm ist Aktiv</field></shadow></value> ! <next><block type="control" id="am%-jiA!VEk8;M%}@@q]"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="control" id="
+Bo5L;1d#lG)0QG3H"><mutation delay_input="true"></mutation>
! <field name="OID">zwave.0.NODE4.SWITCH_BINARY.Switch_1</field>
! <field name="WITH_DELAY">TRUE</field>
! <field name="DELAY_MS">6000</field>
! <field name="CLEAR_RUNNING">FALSE</field>
! <value name="VALUE"><block type="field_oid" id="H~N=iIM7IRTrg;+=3@V!"><field name="oid">default</field></block></value>
! <next><block type="control" id="BK{KLPb1NnRffQYs+;8W"><mutation delay_input="false"></mutation>
! <field name="OID">Object ID</field>
! <field name="WITH_DELAY">FALSE</field>
! <next><block type="sayit" id="EVKegjRE6{NJqFmUvmD~"><field name="INSTANCE">.0</field>
! <field name="LANGUAGE">de</field>
! <field name="LOG">warn</field>
! <value name="MESSAGE"><shadow type="text" id="__pOj!|cfxK9.Giw-x;"><field name="TEXT">Lauter Alarm wird aktiviert</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement>
! <next><block type="on" id="jNd!pi6H]n;}q1O[.N]R" collapsed="true"><field name="OID">hm-rpc.0.NEQ1507113.1.STATE</field>
! <field name="CONDITION">true</field>
! <field name="ACK_CONDITION">false</field>
! <statement name="STATEMENT"><block type="comment" id="3;MLs4a:7h%z@D_Wl-"><field name="COMMENT">Bewegungsmelder WZ</field>
! <next><block type="on_ext" id="{]4|1Bbz_;ElWSY{CB"><mutation items="1"></mutation>
! <field name="CONDITION">ne</field>
! <field name="ACK_CONDITION">false</field>
! <value name="OID0"><shadow type="field_oid" id="4TLZ-%/Eao7E[JmKdg(k"><field name="oid">default</field></shadow></value>
! <statement name="STATEMENT"><block type="sayit" id=",1y?=*_,-yWnjUhlt+Jc"><field name="INSTANCE">.0</field>
! <field name="LANGUAGE">de</field>
! <field name="LOG">log</field>
! <value name="MESSAGE"><shadow type="text" id="9Vf]g,*H)^}:BqDTU?U"><field name="TEXT">Stiller Alarm ist Aktiv</field></shadow></value> ! <next><block type="control" id="#G:~s)z!AKrqLY#GL*F_"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="control" id="a=XCA}ytoSAZ_{ya;8.P"><mutation delay_input="true"></mutation> ! <field name="OID">zwave.0.NODE4.SWITCH_BINARY.Switch_1</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">6000</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="field_oid" id="@8E{@y!m!*YcXUx;5^DE"><field name="oid">default</field></block></value> ! <next><block type="control" id="09~4fS?Xfxtf/gb~=q3x"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="sayit" id="X|?HFF_cs6e
;(mf#IML"><field name="INSTANCE">.0</field>
! <field name="LANGUAGE">de</field>
! <field name="LOG">warn</field>
! <value name="MESSAGE"><shadow type="text" id="cQYZIZ~[Sj{N#57{UjF6"><field name="TEXT">Lauter Alarm wird aktiviert</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement>
! <next><block type="on" id="k[aexMz~;Y1lA9Jr?hg0" collapsed="true"><field name="OID">hm-rpc.0.NEQ1109723.1.STATE</field>
! <field name="CONDITION">true</field>
! <field name="ACK_CONDITION">false</field>
! <statement name="STATEMENT"><block type="comment" id="2u5)v)(JoEG?^mcO}S8r"><field name="COMMENT">Bewegungsmelder WZ</field>
! <next><block type="on_ext" id="g%m]N{opnn.|AnQ32^.@"><mutation items="1"></mutation>
! <field name="CONDITION">ne</field>
! <field name="ACK_CONDITION">false</field>
! <value name="OID0"><shadow type="field_oid" id="v8|C+yD!HxXHiGi!sn};"><field name="oid">default</field></shadow></value>
! <statement name="STATEMENT"><block type="sayit" id="}F4p]G7Vp/Bx?7hu/dx?"><field name="INSTANCE">.0</field>
! <field name="LANGUAGE">de</field>
! <field name="LOG">log</field>
! <value name="MESSAGE"><shadow type="text" id="16~U(po}#
ogY3Y?!:"><field name="TEXT">Stiller Alarm ist Aktiv</field></shadow></value> ! <next><block type="control" id="D?9;T|[qceyv:b%##Aev"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="control" id="l_AH6#%CsUSQuwPd]NKM"><mutation delay_input="true"></mutation> ! <field name="OID">zwave.0.NODE4.SWITCH_BINARY.Switch_1</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">6000</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="field_oid" id=":J[@;1YTYeI=h^AIME8V"><field name="oid">default</field></block></value> ! <next><block type="control" id="J|JnJ@UU54ZO]ZCDaMts"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="sayit" id="3|1AJ}C+#%pg%;5q8b]i"><field name="INSTANCE">.0</field> ! <field name="LANGUAGE">de</field> ! <field name="LOG">warn</field> ! <value name="MESSAGE"><shadow type="text" id="2D4zz#CV;OkZ~Zo#qQCm"><field name="TEXT">Lauter Alarm wird aktiviert</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement> ! <next><block type="on" id="t*-HWfuv.}hOaldpD4.E" collapsed="true"><field name="OID">hm-rpc.0.NEQ0758032.1.STATE</field> ! <field name="CONDITION">true</field> ! <field name="ACK_CONDITION">false</field> ! <statement name="STATEMENT"><block type="comment" id="dJ/qEj~/t+JWm%81jqeH"><field name="COMMENT">Bewegungsmelder WZ</field> ! <next><block type="on_ext" id="PU5LPQ,J8gjk?D5z6,dC"><mutation items="1"></mutation> ! <field name="CONDITION">ne</field> ! <field name="ACK_CONDITION">false</field> ! <value name="OID0"><shadow type="field_oid" id="y#rZ2nN3_!XTZi_=hZVB"><field name="oid">default</field></shadow></value> ! <statement name="STATEMENT"><block type="sayit" id="Og?}_vMGn{a5f(iDJm4W"><field name="INSTANCE">.0</field> ! <field name="LANGUAGE">de</field> ! <field name="LOG">log</field> ! <value name="MESSAGE"><shadow type="text" id="5e-o+EgQPVQvB_~aQjl~"><field name="TEXT">Stiller Alarm ist Aktiv</field></shadow></value> ! <next><block type="control" id=":}??-82owrnU,_Jg.45;"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="control" id="iTwogL]v79vX1K___B{N"><mutation delay_input="true"></mutation> ! <field name="OID">zwave.0.NODE4.SWITCH_BINARY.Switch_1</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">6000</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="field_oid" id="DeO,gvFDsPPv=/z?ExVT"><field name="oid">default</field></block></value> ! <next><block type="control" id="8}WL7KAlY?d4gteTQ(B1"><mutation delay_input="false"></mutation> ! <field name="OID">Object ID</field> ! <field name="WITH_DELAY">FALSE</field> ! <next><block type="sayit" id="!NQHK~baG/5TnA(TQ0LE"><field name="INSTANCE">.0</field> ! <field name="LANGUAGE">de</field> ! <field name="LOG">warn</field> ! <value name="MESSAGE"><shadow type="text" id="F|A;_ra%KTJ(|qWeB:ni"><field name="TEXT">Lauter Alarm wird aktiviert</field></shadow></value></block></next></block></next></block></next></block></next></block></statement></block></next></block></statement></block></next></block></next></block></next></block></next></block></statement></block></next></block></next></block></next></block> ! <block type="comment" id="GB3@AfC2Ycp^(NOI|^F-" x="413" y="-237"><field name="COMMENT">Vis Schalter Alarm an</field></block> ! <block type="comment" id="P9Zh26lTA,=RbrP;r]65" x="462" y="-13"><field name="COMMENT">Bewegungsmelder</field></block> ! <block type="comment" id="b);E1)!dZCXknR,Hm3+i" x="463" y="187"><field name="COMMENT">Vis Alarm Bild</field></block> ! <block type="comment" id="0Ef#_84EQciiTmOD
xFB" x="463" y="262"><field name="COMMENT">Alarm Sirene</field></block></xml>Lg Desa ( Heiße Stefan ^^ )
1812_alarm_wz_1.jpg -
Wau! Da hast Du Dir ja richtig Mühe gegeben.
Wollen mir mal schauen ob ich es jetzt verstanden habe.
1. Keine CCU
2. Alle Geräte in ioBroker angemeldet (über was auch immer)
3. Alle Gerate über VIS steuerbar
4. Sonst Nichts. Keine weitere, eigene Variablen/Objekte in ioBroker
Sind wir da auf einer Linie?
[edit] Dein Blockly konnte ich nicht importieren. Ich tippe mal wenn Du auf "Blöcke prüfen" klickst, gibt es eine Fehlermeldung.
Grüße
-
Stimmt, Stimmt, Stimmt und stimmt
Und ja es gibt eine Fehlermeldung da die Zwischenräume fehlen :oops:
Deswegen hatte ich das Bild gemacht
1812_bild.jpg -
Na also wenn wer lust hat, kann auch jemand anderes etwas dazu beitragen Ist ja nen Forum
So ein Counter des Bildes hat schon was :geek:
Oder ist Rantaplan der einzige der sich damit auskennt :lol: Ich bin gerade sehr wissbegierig
Lg Desa
-
Hallo Desa
Hat etwas länger gedauert. Aber ich habe auch noch ein Leben neben ioBroker, Blockly usw.
Ich habe da mal etwas vorbereitet, auf das Du hoffendlich aufbauen kannst.
Das Zusammenspiel von Geräten, Variablen, VIS und Scripte (Blockly) sollte klarer werden.
Wenn nicht…Fragen...Ich gebe so schnell nicht auf
(Die Anwort kann aber auch mal etwas dauern)
Für das Beispiel werden 2 Variabel und 2 Scripte benötigt.
Du möchtest ja, dass bevor der Alarm scharf geschaltet wird, einige Dinge überprüft werden.
Und die Scharfschaltung innerhalb eines Zeitraumes abbrechen können.
Also brauchen wir so etwas wie einen "Zündschlüssel" und "Zündvorgang".
Der "Zündschlüssel" in dem Beispiel ist eine boolsche Variable/Objekt (bolAlarmSchalten).
Diese muss von irgendwo her auf Wahr/Unwahr gesetzt werden können.
Sei es über VIS, Handsender, Wandtaster, Pin-Eingabe usw. usw.
Über "bolAlarmSchalten" wird also der Alarmzustand aktiviert/deaktiviert.
Der eigentliche Alarmzustand wird über die boolsche Variable/Objekt "bolAlarm" dargestellt.
Diese wird im zweiten Script benötigt.
Dort werden die "Überwachungsgeräte" (Tür-/Fensterkontakt, Bewegungsmelder usw.) getriggert.
Jedesmal! wenn ein dort eingetragener Fensterkontakt geöffnet wird, wird das dort erkannt.
Wenn bolAlarm = unwahr passiert nichts.
Wenn bolAlarm = wahr werden die gewünschten Aktionen ausgelöst.
Da ich den SayIt Adapter nicht benutze, habe ich immer Debug-Ausgaben eingesetzt.
Hier der "Zündvorgang"
Hier die Überwachung
Import "Zündvorgang"
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="create" id="e4%t|N[a3r/]:A=A^UL|" x="338" y="238"><field name="NAME">bolAlarmSchalten</field>
! <statement name="STATEMENT"><block type="create" id="DtT3ToP!6MR%m}1LU]c"><field name="NAME">bolAlarm</field>
! <statement name="STATEMENT"><block type="comment" id=",J?RjdH-3rC%l@RpIAd1"><field name="COMMENT">ID Variablen/Objekte in ioBroker anlegen</field>
! <next><block type="comment" id="7aGDatGB)l+M
M|fl^"><field name="COMMENT">Wird nur 1x benötigt</field></block></next></block></statement></block></statement></block> ! <block type="comment" id="h}-GLiN5x(k:FUrva
si" x="87" y="262"><field name="COMMENT">Wird über VIS geschaltet</field>
! <next><block type="on" id="Wp6(X0J#KrM6}n@F{o,"><field name="OID">javascript.1.bolAlarmAktivieren</field>
! <field name="CONDITION">ne</field>
! <statement name="STATEMENT"><block type="controls_if" id="9GB2XArfowg))6Gx.Bh?"><mutation else="1"></mutation>
! <value name="IF0"><block type="logic_compare" id="@i^nfn5l-WHQFeWtMXk"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="LsMxKxh@Q,b;B5Qzy2Wz"><field name="ATTR">val</field>
! <field name="OID">javascript.1.bolAlarmAktivieren</field></block></value>
! <value name="B"><block type="logic_boolean" id="{!@zI^^EgTa,.~(FUMp"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id=".[INx?Hf]:6OCoz8G2^*"><field name="COMMENT">Fenster überprüfen</field> ! <next><block type="controls_if" id="FW-)5BEDikj2ELcrf_F!"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_operation" id="Brg%Hakx,7~)t%ybN[hx" inline="false"><field name="OP">OR</field> ! <value name="A"><block type="logic_compare" id="Xl3gm{S!Jo*3uWDc
Zjb"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="3{5+Fgt.ri4ETwbAgesg"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.JEQ0247966.1.STATE</field></block></value>
! <value name="B"><block type="logic_boolean" id=";tWpgUmo}!!]iLG:l]0C"><field name="BOOL">TRUE</field></block></value></block></value>
! <value name="B"><block type="logic_operation" id="[t~}7hV#SJ8)BrFRWp1{" inline="false"><field name="OP">OR</field>
! <value name="A"><block type="logic_compare" id="3L2WZ8)v@%1wbU+G,+?H"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="/f[T+Fu%CsXJQAA8bb"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.KEQ0160270.1.STATE</field></block></value>
! <value name="B"><block type="logic_boolean" id="@#_0P5AT^yh8}CJN]FTD"><field name="BOOL">TRUE</field></block></value></block></value>
! <value name="B"><block type="logic_compare" id="a2CA,,.-ae]#F!nkmc4"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id=":|vp+li6CrZS0eq-tb;M"><field name="ATTR">val</field>
! <field name="OID">hm-rpc.0.LEQ0213973.1.STATE</field></block></value>
! <value name="B"><block type="logic_boolean" id="=g9t1qc5T(2?_kDz0e-"><field name="BOOL">TRUE</field></block></value></block></value></block></value></block></value> ! <statement name="DO0"><block type="comment" id="6BU*GNj?ad#L6wYm];.c"><field name="COMMENT">Ein Fenster ist offen</field> ! <next><block type="comment" id="k77]2ocHX#7slsRv~deL"><field name="COMMENT">Keine Alarmschaltung</field> ! <next><block type="control" id="WB,cs-iiQr:AH~5p*iJK"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.1.bolAlarmAktivieren</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="n31vML.:4NC,BJj(S-=_"><field name="BOOL">FALSE</field></block></value> ! <next><block type="debug" id="gAsNJTBGzL.;yT20mOCa"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id=";_GGOuTLYaJpU?WW~PHQ"><field name="TEXT">Fenster offen</field></shadow></value></block></next></block></next></block></next></block></statement> ! <statement name="ELSE"><block type="comment" id="5WwaKm[
us+ew@R9Q|r"><field name="COMMENT">Alles OK Alarm kann aktiviert werden</field>
! <next><block type="debug" id="]r/?]^:Q/I4X6NKQB,f"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id=".|nw1P3lFVIaVEP*t0(q"><field name="TEXT">Alarm wir in 1 Minute aktiviert</field></shadow></value> ! <next><block type="comment" id="*jO0|2x*,,VIT%U23ys8"><field name="COMMENT">Hier wird eine Min.gewartet</field> ! <next><block type="timeouts_settimeout" id="@FK6%p4xu-a4gflw;BsN"><field name="NAME">timeout</field> ! <field name="DELAY">60000</field> ! <statement name="STATEMENT"><block type="control" id="-l;[wFK~s2D,~Ymi#IWD"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.1.bolAlarmScharf</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="SG[R2p4GpfEeZPoO1/Lm"><field name="BOOL">TRUE</field></block></value> ! <next><block type="debug" id="EL8j.Z5-k7EmxNS%Y8}y"><field name="Severity">log</field> ! <value name="TEXT"><shadow type="text" id="bJ^.y-C!gb=9#{aJi^rZ"><field name="TEXT">Alarm aktiviert</field></shadow></value></block></next></block></statement></block></next></block></next></block></next></block></statement></block></next></block></statement> ! <statement name="ELSE"><block type="timeouts_cleartimeout" id=",-x{B_6R74v+2l+apppX"><field name="NAME">timeout</field> ! <next><block type="control" id="ROT/7W2Tldqet!@V0vuc"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.1.bolAlarmScharf</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="/UIr-Z_v;CmSx}q)[q9*"><field name="BOOL">FALSE</field></block></value> ! <next><block type="debug" id="wk8ov,bAlSL7(t
:A^x3"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="GpU|mMr6C0s@*zG1Rpf"><field name="TEXT">Alarm deaktiviert</field></shadow></value></block></next></block></next></block></statement></block></statement></block></next></block></xml>Import Überwachung
! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
! <block type="comment" id="q@xFyLwtn7L20O:.9qLr" x="37" y="113"><field name="COMMENT">Triggern der Geräte auf WAHR</field>
! <next><block type="on_ext" id="vg]@GugCdFRJT-%kI@=7"><mutation items="4"></mutation>
! <field name="CONDITION">true</field>
! <value name="OID0"><shadow type="field_oid" id="M~kBPPD.9eCS4DvqVF69"><field name="oid">default</field></shadow>
! <block type="field_oid" id="kNosL[lb/HJ/E;6-^yY@"><field name="oid">hm-rpc.0.JEQ0247966.1.STATE</field></block></value>
! <value name="OID1"><shadow type="field_oid" id="ZiUvoXp#pndv6@y=3?N/"><field name="oid">hm-rpc.0.LEQ0213973.1.STATE</field></shadow></value>
! <value name="OID2"><shadow type="field_oid" id="Vocrg|c7LB21-XCUxWpn"><field name="oid">hm-rpc.0.KEQ0160270.1.STATE</field></shadow></value>
! <value name="OID3"><shadow type="field_oid" id="<EMAIL email=" c5_hbt7kcdx@g.nwhl7r"="">C5_HBt7kcDx@G.NwHL7r">
! <field name="oid">hm-rpc.0.KEQ0972714.1.MOTION</field></shadow></value>
! <statement name="STATEMENT"><block type="comment" id="eb%lt#iCj[t(mm@NwsNv"><field name="COMMENT">Ein Gerät hat ausgelöst</field>
! <next><block type="comment" id="IYQLuKm}D?ocdp@[cN|_"><field name="COMMENT">Prüfen ob Alarm aktiv ist</field>
! <next><block type="controls_if" id="[TriQn_Fw;^6{fM8U%y+"><value name="IF0"><block type="logic_compare" id="i7Y;4K0TusLYO1,BY^BW"><field name="OP">EQ</field>
! <value name="A"><block type="get_value" id="GBJS*3Ul4]lsJn3r3,r"><field name="ATTR">val</field> ! <field name="OID">javascript.1.bolAlarmScharf</field></block></value> ! <value name="B"><block type="logic_boolean" id="U*Xvz#cUHtuV)Hd,%ajV"><field name="BOOL">TRUE</field></block></value></block></value> ! <statement name="DO0"><block type="comment" id="6XSS]%Fdptbg_FZ#UCv_"><field name="COMMENT">Hier kommen die Aktionen rein</field> ! <next><block type="debug" id="G)(3,^~x
?w)rNIfl;7R"><field name="Severity">log</field>
! <value name="TEXT"><shadow type="text" id="n@2INPEE5Wy[+OPBCDiV"><field name="TEXT">ALARM AUSGELÖST</field></shadow></value></block></next></block></statement></block></next></block></next></block></statement></block></next></block></xml>Grüße
-
Danke, wer hat sich hier denn jetzt mühe gegeben, wie sagt man so schön privatleben geht immer vor.
Brauch ich ja fast nicht mehr nachdenken. aaaaaaber ( bitte nicht erschlagen )
Mir fehlt der Zünd Punkt, welchen ich dir aber nun genau erklären kann.
Zitat : "Sei es über VIS, Handsender, Wandtaster, Pin-Eingabe usw. usw."
Bei einem Wandtaster / Handsender habe ich ja eine angemeldete Objekt id welche sich ändert.
die fehlt mir aber ja bei Vis. Wie bekomme ich denn nun die Info das ich mit Vis eine boolsche Variable erstellen kann
glaube schon fast, ich sitze auf einem Schlauch Haufen statt nur auf einem Schlauch
Ich schalte sagen wir mal jetzt die Lampe in Vis an. dann habe ich aber ja keine id die sich ändert
Bei einem Handsender würde sich ja was ändern das ich angemeldet habe
Also mir fehlt die Information wie der Zündschlüssel in das jeweilige Schloss passt
Edit ::: hat sich erledigt. Habe mir Gerade die IObroker Wiki durch gelesen und dann klatschte es an meiner Stirn.
Mir fehlte DER Punkt Wo ich in Io Broker einfach das + Für ein neues Objekt drücke und simple dieses in den Schalter einbinden kann ….
So jetzt versucht Der Desa sich an Blockly ^^.
Also bis in 5 min :lol:
-
Hallo Desa
Wie bekomme ich denn nun die Info das ich mit Vis eine boolsche Variable erstellen kann `
Mit VIS erstellt Du keine Variablen/Objekte.Mit VIS greifst Du auf Objekte zu, zeigst deren Zusand an und änderst deren Zustände.
Ich schalte sagen wir mal jetzt die Lampe in Vis an. dann habe ich aber ja keine id die sich ändert `
Aber natürlich hast Du eine ID die sich ändert!Lampenname.STATE
Das was Du bei dem Widget in "Objekt ID" eingetragen hast.
Klickst Du auf das Widget wird …STATE = True (Lampe an)
Klickst Du nochmal dauf wird ....STATE = False (Lampe aus)
Der Datenpunkt .STATE ist sozusagen eine boolsche Variable.
Wenn Du das erste Script einmal gestartet hast, ist der "Zündschlüssel" in ioBrocker angelegt.
Das passiert bei den Bausteinen "Zustand erzeugen" wo im Kommentar "wird nur 1x benötigt" steht.
NACH dem ersten Start kannst Du die "Zustand Erzeugen" Bausteine löschen.
Schau mal in ioBroker.Admin unter dem Reiter "Objekte", gib "Name" mal "bolAlarmSchalten" ein.
Du kannst nun ein Widget nehmen das mit boolschen Objekten klar kommt.
Hier ein Beispiel.
Bei einem Handsender würde sich ja was ändern das ich angemeldet habe `
Aber ohne ein Script/Blockly kannst Du damit nicht den Zustand von "bolAlarmSchalten" ändern.Grüße