Startseite Foren Fibaro Forum (Z-Wave) Fibaro LUA Scripts für HC2 Fibaro Heizungssteuerung mit Fensterkontakt LUA

Dieses Thema enthält 85 Antworten und 21 Teilnehmer. Es wurde zuletzt aktualisiert von  Sven Gomann vor 2 Jahre.

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 86)
  • Autor
    Beiträge
  • #5446
    AlexM
    AlexM
    Moderator

    Hallo zusammen,

    mein Script ist fertig und würde mich freuen wenn ihr es testen würdet und anschließend berichtet.

    Hintergrund des Scriptes ist das Steuern des Thermostates am Heizkörper mit einem Fensterkontakt. Solltet ihr das Fenster auf..zu..auf…zu..auf..zu..auf….machen,.. jetzt habe ich vergessen wie der Zustand sein sollte, egal das Script weiß es :)

    Somit weiß das System genau welcher Zustand war und grade ist und steuert danach das Thermostat und speichert den vorherigen Wert in einer Globalen Variablen und ließt diesen anschließend wieder aus und gibt ihn an das Thermostat. Sollte der Zustand nach…auf…zu..auf..zu..auf..zu der gleiche sein passiert nicht.

    Es muss lediglich eine Globale Variable erstellt werden, egal was ihr euch das ausdenkt, bei mir ist es „BadHeizung“ und anschließend die „User Settings“ anpassen und das war es.

    Warum das ganze: z.b Terrasen Tür die innerhalb eines kurzen Zeitraumes öfter geöffnet und geschlossen wird oder ihr habt Kinder die ganz gerne das Fenster hin un her schwenken.

    Viel Spaß damit, freue mich über Feedbacks :)

    Gruß Alex

    PS: Ich brauch nen Bier ;)
    <pre class=“brush: applescript; gutter: true; first-line: 1; highlight: []; html-script: false“>
    –[[
    %% autostart
    %% properties
    175 value
    %% globals
    –]]

    ————————————————–
    — Intelligentes Heizen mit Fensterkontakt V2.1 —
    ————————————————–
    — User Settings __
    —————————————————-
    local FensterK = 175; — ID des Fensterkontaktes
    local Thermo = 82; — ID des HeizkörperThermostat
    local Global = "BadHeizung" — Globale Variable
    —————————————————–

    ————————————————-
    — Achtung Script, nicht ändern —
    ————————————————-

    local sourceTrigger = fibaro:getSourceTrigger();

    local offen = 1;
    local zu = 1;
    local bewegungauf = false;
    local bewegungzu = false;
    local FensterOffenStatus = (tonumber(fibaro:getValue(FensterK, "value")) > 0);
    local FensterZuStatus = (tonumber(fibaro:getValue(FensterK, "value")) == 0);

    if (sourceTrigger["type"] == "property")
    then
    if (fibaro:countScenes() > 1)
    then
    fibaro:abort();
    end

    — Überprüfe Status Fenster —

    if (FensterOffenStatus)
    then
    bewegungauf = true;
    elseif (FensterZuStatus)
    then
    bewegungzu = true;
    end
    — Zähler 60 sek —

    repeat
    local CountOffen = (tonumber(fibaro:getValue(FensterK, "value")) > 0);
    local CountZu = (tonumber(fibaro:getValue(FensterK, "value")) == 0);

    if (CountOffen)
    then
    offen = offen + 1;
    zu = 1;
    fibaro:debug('offen ' ..offen);
    else
    zu = zu + 1;
    offen = 1;
    fibaro:debug('geschlossen ' ..zu);
    end
    fibaro:sleep(10000);
    until ((offen == 7) or (zu == 7))

    — Fenster geöffnet —

    local FensterOffen = (tonumber(fibaro:getValue(FensterK, "value")) > 0);
    local FensterZu = (tonumber(fibaro:getValue(FensterK, "value")) == 0);

    if (FensterOffen and (bewegungauf == true))
    then
    fibaro:debug('Fenster auf, Heizung senken');
    local TempWertS = fibaro:getValue(Thermo, "value");
    fibaro:setGlobal(Global, TempWertS);
    fibaro:sleep(5000);
    fibaro:call(Thermo, "setTargetLevel", "4");
    fibaro:call(Thermo, "setTime", tonumber(os.time(t)) + 240*60);
    fibaro:debug(TempWertS.. '° auf 4°' );

    — Fenster geschlossen —

    elseif (FensterZu and (bewegungzu == true))
    then
    fibaro:debug('Fenster zu, Heizung heben');
    local TempWertL = fibaro:getGlobal(Global);
    fibaro:sleep(5000);
    fibaro:call(Thermo, "setTargetLevel", TempWertL);
    fibaro:call(Thermo, "setTime", tonumber(os.time(t)) + 30*60);
    fibaro:debug('4° auf ' .. TempWertL .. '°');

    else
    fibaro:debug('Keine Veränderung des Status');
    end
    end

    • Dieses Thema wurde geändert vor 4 Jahre, 6 Monate von crissxcross crissxcross.
    • Dieses Thema wurde geändert vor 4 Jahre, 4 Monate von AlexM AlexM.
    #5461
    crissxcross
    crissxcross
    Moderator

    Hey Alex,
    perfekt – super kommentiert. i like!
    Ich muss uuuunbedingt meine Heizkörperthermostate und Fensterkontakte anbringen :-)

    An welcher Stelle im Script müsste ich ansetzen, wenn ich in einem Raum zwei Dachfenster habe?
    Das Thermostat müsste in diesem Fall schließen, egal welches Fenster geöffnet ist…


    Gründer & Blogger von siio.de / siio.com
    #6053

    Comptec
    Teilnehmer

    Hallo AlexM ,

    ich wollte Deinen Script probieren und bekomme folgende Fehlermeldung schon beim Speichern der Szene:

    [ERROR] 19:44:11 line 28: ‚)‘ expected near ‚&‘

    Was mache ich falsch ?
    U.S

    #6058
    AlexM
    AlexM
    Moderator

    Sehe ich jetzt erst, da ist was falsch gelaufen beim einfügen des Skripts in der Codierung.

    Musst alle Einträge > durch > ersetzen.

    Versuch das mal bitte, mehr finde ich auf die schnelle nicht. Falls es
    nicht funktionieren sollte, bitte kurze Info. Schaue dann nach sobald ich wieder zuhause bin.

    Gruß

    #6059
    AlexM
    AlexM
    Moderator

    Sehr lustig versuche das mal so zu schreiben das wordpress das nicht gleich wieder ändert „>“ muss durch > ersetzt werden.

    #6060
    AlexM
    AlexM
    Moderator

    Hihi… nächster Versuch & g t ; ersetzen.

    #6061
    AlexM
    AlexM
    Moderator

    Geht doch :)

    #6066

    Comptec
    Teilnehmer

    Hallo AlexM

    sehe dir bitte mal den Anhang an.

    U:S

    Dateianhänge:
    You must be logged in to view attached files.
    #6068

    Comptec
    Teilnehmer

    Hallo ,
    ich hab den Fehler gefunden .Ich hatte die falsche ID bei FensterK zugeordnet.
    Somit hatte die Variable den falschen Typ. Jetzt bekomme ich erst mal keine Fehlermeldung mehr.

    U.S

    #6075

    Comptec
    Teilnehmer

    Hallo AlexM ,

    Dein Programm funktioniert gut. Manchmal ist es auch gut wenn „copy und paste“ nicht gleich funktioniert ,denn man lernt unheimlich viel.

    U.S

    #6076
    AlexM
    AlexM
    Moderator

    Das hört man gerne, danke fürs Feedback :)

    #6380
    chriss1873
    chriss1873
    Teilnehmer

    Moin AlexM!

    Da ich noch relativ neu (was diese Programmierungen angeht) bin, fällt es mir nicht so leicht, Euern „Hyroglyphen“ zu folgen! ;-)

    Welche Symbole müssen explizit durch welche ersetzt werden? (Vielleicht als Pic im Anhang?)

    Danke schon mal für die Hilfe!

    Gruß

    Christian

    #6389
    crissxcross
    crissxcross
    Moderator

    Hey Alex,

    erstmal ein dickes Lob! GREAT JOB!
    Füg das Script doch bitte noch einmal ein. Ich habe ein neues Tool installiert mit welchem du das Script besser formatieren kannst. Du findest es direkt im Antwort Editor. Formatiere die Scripte am besten als „Appel Script“.
    Dann fallen die Probleme weg welche durch die Formatierung entstehen.


    Gründer & Blogger von siio.de / siio.com
    Dateianhänge:
    You must be logged in to view attached files.
    #6408
    AlexM
    AlexM
    Moderator
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    • Diese Antwort wurde geändert vor 4 Jahre, 5 Monate von AlexM AlexM.
    #6410
    AlexM
    AlexM
    Moderator

    Sieht gut aus, danke Chriss :)

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

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