Startseite Foren Fibaro Forum (Z-Wave) Fibaro LUA Scripts für HC2 Anwesenheits Check mit Motion Sensor & Türsensor

Dieses Thema enthält 18 Antworten und 7 Teilnehmer. Es wurde zuletzt aktualisiert von danielboe danielboe vor 2 Jahre, 5 Monate.

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 25)
  • Autor
    Beiträge
  • #6926
    danielboe
    danielboe
    Teilnehmer

    Hey,
    Ich habe ein LUA-Script geschrieben, welches die anwesenheit in einem Raum (mit einer Tür) recht zuverlässig erfasst. Es setzt Dazu eine Globale Variable, welche 4 Zustände haben kann:
    0 – Abwesend
    1 – Zur Tür eingetreten (comming home)
    2 – Im Raum, nicht sicher
    3 – Im Raum, sicher

    Wie es funktioniert:
    2 Scripts laufen parallel. Das 1. Entscheidet größtenteils über die Zustände 0-2 das 2. löst immer aus, wenn Zustand 3 sicher ist. Das ist der Fall, wenn man im Zimmer und die Tür geschlossen ist (Außer man klettert durchs Fenster, ist man dann solange im Raum, bis die tür wieder auf geht).

    Einstellung:
    Die Einstellungen sind alle im Kopf beschrieben. Eine globale Variable „Zimmer“ wird benötigt.

    Script1

    Script2


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    Dateianhänge:
    You must be logged in to view attached files.
    #6928
    danielboe
    danielboe
    Teilnehmer

    Wie einfach dann eine komplette Lichtsteuerung für den Raum aussieht, zeige ich noch einmal hier. Das LED Licht wird beim öffnen der Tür eingeschaltet. Beim eintreten kommt das Hauptlicht dazu. Wenn das Script auf anwesend springt, bleibt das Hauptlicht an und die LEDs gehen aus. Das Licht bleibt dann auch an, wenn man sich im Raum nicht bewegt.


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    • Diese Antwort wurde geändert vor 4 Jahre, 4 Monate von danielboe danielboe.
    #9460

    dasbo
    Teilnehmer

    Hallo Daniel,

    dein Script finde ich sehr interrsant. Ich möchte dieses Script bei mir im Wohnzimmer anwenden.

    Gibt es die Möglichkeit das, wenn man im Raum ist, die Fibaro Schaltersteckdose freigeschaltet wird. Und wenn keine Anwesenheit realisiert wird….das die Schaltersteckdose den Strom nimmt. Das somit alle Gerät vom Standby genommen werden.

    Könntest du dir das Vorstellen das man das realisieren könnte?

    Danke

    lg

    #9908

    dasbo
    Teilnehmer

    Hallo Daniel.

    könntest du mir hier nicht eventuel weiter helfen?

    lg

    #9942
    danielboe
    danielboe
    Teilnehmer

    Hey dasbo,

    Was genau meinst du mit freigeschaltet? Willst du einfach stat licht die Schaltsteckdose steuern? Das geht relativ easy mit diesen Variablen. Wenn es das ist, schreibe ich dir fix das Script. Sollten wir gerade aneinander vorbei reden, dann schrei ;-)

    Grüße

    Daniel


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    #9944

    dasbo
    Teilnehmer

    Genau…. ich möchte wenn ich im Raum bin das die Steckdose Strom liefert und alle Geräte mit Strom versorgt sind. Und wenn keiner im Raum ist…das alles Stromlos ist und keine Standby – Kosten entstehen.

    Wäre super, wenn du mir das machen könntest.

    Danke,

    lg
    Stefan

    #10124
    danielboe
    danielboe
    Teilnehmer

    Hallo,
    wenn du das Script nutzt, reichen dir ja 2 Zustände: Entweder größer als 0, dann alles einschalten oder = 0 dann alles außschalten
    als Trigger nimmst du die globale Variable.

    Das sieht von der Struktur etwa so aus, wenn du nicht noch zusätzliche Faktoren mit einfließen lassen willst:

    Grüße

    Daniel


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    #15802

    mwi1973
    Teilnehmer

    Hallo Daniel,

    das ist ein geniales Skript! Danke für die Idee und Umsetzung nebst Zustandsübergangsdiagramm.
    Ich habe das Skript zur generellen Anwesenheitssteuerung in der Wohnung genutzt – funktioniert perfekt.
    Redaktionell: der Motion-Timeout wird über Parameter 6 gesteuert, oder?

    Viele Grüße

    Markus

    #15805
    danielboe
    danielboe
    Teilnehmer

    Danke! Schön, dass es klappt. Ich habe das Script mittlerweile etwas geändert, kann ich bei Gelegenheit hier posten. Und ja, beim Fibaro Auge ist Par. 6 genau der gesuchte wert.

    Grüße


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    #15808

    boomx
    Teilnehmer

    Poste das bitte mal :)

    Das oben genannte Skript hat gut funktioniert, aber auch mächtig CPU gefressen. (War aber v3 glaub ich) Danke :)

    #15902
    danielboe
    danielboe
    Teilnehmer

    Also CPU sollte das Script eig nicht fressen, es wird ja nur bei Interaktion gestartet. Maximal in einer do-while Schleife kann es bei älteren versionen vielleicht so sein, kann ich aber selbst nicht nachvollziehen. Bei mir mit ca 20 anderen Scripts ist die CPU bei 1-3%, egal welcher Umstand.
    Hier mal das Update mir der Idee das Timeout wenn man die Tür schließt und draußen ist herabzusetzen, denn dann will man höchstwahrscheinlich gehen und die Lampen müssen keine 10 minuten (oder je nach timeout) mehr anbleiben…
    Der 2. Teil des Scripts bleibt gleich.


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    • Diese Antwort wurde geändert vor 3 Jahre, 6 Monate von danielboe danielboe.
    #15920

    boomx
    Teilnehmer

    Ich teste es nochmal, danke :)

    #16291

    huebi
    Teilnehmer

    Hallo Daniel,

    ich finde das Script auch super. Ich überlege es auch in meinem Badezimmer einzusetzen. Nun habe ich aber noch eine Frage.

    Wenn ich im Bad unter der Dusche stehe und die Tür zu ist (Die Dusche ist nicht im Bereich des Bewegungsmelders) würde ja trotzdem da Licht eingeschaltet bleiben. So soll es ja auch sein.
    Nun kommt jemand ins Bad schließt die Tür und verlässt es kurz darauf wieder. Ich stehe immer noch unter der Dusche, ohne das der Bewegungsmelder mich registriert.

    Würde dann das Licht ausgehen?

    Gruß
    Andreas

    #16382
    danielboe
    danielboe
    Teilnehmer

    hey Andreas,

    ja du hast recht, das Licht geht dann aus. An sich ist das aber nicht wirklich ein fehler bzw. mir fällt auch keine Lösung ohne zusätzliche Parameter ein. Wenn die Tür zu ist und deine Bewegung erkannt wird, wäre die Variable wieder auf 3 und anwesend. Wenn nicht, würde das Licht sogar schneller ausgehen, denn jmd. hat den Raum gerade verlassen und hinter sich die Tür geschlossen (meist kein licht mehr nötig).
    Komplizierte Lösungsansätze wären mehrere Sensoren am Eingang, welche die Personen zählen. Bluetooth-Zellen, welche die genaue Positionierung ermöglichen.
    Einfacher wäre noch zusätzlich einen Schalter einzubauen, welcher das Script ausser kraft setzt, wenn du ihn drückst. Quasi ein Wechsel zum klassischen licht, wie man es kennt.
    Aber das ist genau die Situation, wo das Smart Home auch an Grenzen stößt. Ist denke ich gar nicht so schlecht das hier mal zu diskutieren!

    Grüße Daniel


    Ich besitze selbst eine HC2 und kann gern bei Fragen rund um LUA Helfen.

    Geschäftsführer bei Smarthome Agentur UG / Autor bei siio.de / leidenschaftlicher "Smart-Homie"

    #16389

    huebi
    Teilnehmer

    Hi Daniel,

    danke für dein Antwort. Deine Szene ist schon perfekt für das was sie soll und ich werde sie für meine Zwecke vermutlich auch trotzdem verwenden.

    Das mit dem Schalter habe ich mir auch schon überlegt, ist vermutlich am einfachsten. Die einzige sinnvolle Alternative wäre wohl einen zweiten spritzwassergeschützten Bewegungsmelder über die Dusche anzubringen. Alles andere ist dann wirklich mit Kanonen auf Spatzen schießen und würde in keinem vernünftigen Aufwand/Nutzenverhältnis stehen.

    Gibt es einen LUA Befehl zum de- bzw. aktiven von Szenen? Wie ich die Szene mit dem Schalter abschieße ist mir klar, allerdings müsste ich doch die Szene auch deaktivieren (damit sie nicht wieder neu getriggert wird) und nach dem Duschen mit dem Schalter wieder aktivieren? Sie nur schlafen zu legen finde ich hier nicht so elegant.

    Oder würdest du das über eine weitere Variable (Duschen = deaktiv/aktiv) schalten? Reicht ein:

    if ( fibaro:getGlobalValue(„Duschen“) == „aktiv“ ) then
    fibaro:debug(„Duschen_aktiv“);
    fibaro:abort();
    end

    in Zeile 26 deines ersten Scriptes um die Szene nicht durchlaufen zu lassen, wenn die Variable mit dem Schalter gesetzt wurde?

    Viele Grüße und Danke

    Andreas

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 25)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.