Schaltung für Zuhause

  • Hallo zusammen,

    vielleicht hat jemand eine Idee wie ich folgendes Problem lösen kann...


    Ich habe 5 Sonoff Basics, 4 davon schalten Lampen, 1 ist mit einem Schalter verbunden über den GPIO Port (Ist nur für den Schaltzustand)

    Soweit funktioniert das auch alles ganz normal, also

    Schalter an > 4 Lampen an.

    Schalter aus > 4 Lampen aus

    aber wenn ich jetzt mit Alexa oder manuell z.B nur 1 Lampe ein schalte, dann das Haus verlasse und über den Schalter aus schalten

    möchte, muss ich den Schalter 2 mal betätigen weil der Schalter ja noch auf aus steht.


    Ich hoffe ich konnte das einigermaßen einfach darstellen.;)

    Anbei noch ein Bild von meinem Script.

    Würde mich freuen wenn Jemand eine Idee hat.

    Gruß Chris

  • als erstes mal ganz oben von wurde geändert auf wurde aktualisiert ändern.

    Dann musst du in deinem Skript einstellen das egal wie du eine Lampe einstellst der sonoff am Schalter der gleichen Status bekommt. Problem is das glaube nur das es bei dir so nicht laufen wird da dein Skript für die Funktion nicht ausgelegt ist. Warum schaltest du mit dem Schalter denn auch alle räume an?

  • Ja das habe ich auch schon probiert nur wenn ich z.B sage Lampe Flur an und dann der Schalter auch den Status an bekommt, schaltet der Schalter wiederrum alle anderen Lampen an, das ist halt das Problem.

  • Ist doch logisch das du den dann zwei mal betätigen musst.

    Wenn du nach hause kommst und nur eine Lampe über Alexa einschaltest, so ist der Schaltstatus des Schalters noch immer auf unwahr. Sprich wenn du den dann betätigst um das Haus zu verlassen müssten sich sogar erst mal alle Lampen einschalten damit du den Schalter danach wieder auf unwahr schalten kannst.

    Gruß

    Carsten

    • ioBroker - VM auf Synology 415+ mit 8GB Ram • Logitech Harmony Hub • Sonoff Schalter • Alexa Echo 2. Gen • Google Home Mini • Philipps HUE + Ikea Tradfri Lampen am HUE System •

  • Das Problem ist, dass Du innerhalb des Blockly-Scripts den Funkschalter nicht aktualisieren kannst, da es der Trigger ist. Ansonsten wäre es simpel, einfach im "an"-Block ganz am Ende den Funkschalter.Power auf FALSE stellen... allerdings würde in diesem Fall dann sofort der Trigger nochmals aufgerufen und da nun POWER=FALSE ist alle Lampen sofort wieder abgeschaltet.

    Deswegen ist das Ganze vermutlich nur in mehreren Etappen zu lösen. Bei mir hab ich das mit einem Amazon Dash Button für 5 EUR gelöst ;) Geht aber auch mit nem Sonoff Basic mit Tasmota, wenn man den in den Taster-Modus umschaltet. Dann ist POWER nur während des Gedrückthaltens des Tasters auf TRUE und springt danach von selbst auf FALSE um. Wie gesagt, mit dem Amazon Dash Button ist das sehr bequem und vor allem kabellos ;)

    Bei mir heisst das Ganze "Aufstehen", weil ich nach dem Aufstehen entweder per Alexa oder (morgens mundfaul!) per Dash Button starte.

    Folgende Schritte sind nötig:

    1. Anlegen eines Datenpunktes / Logikwert "Aufstehen_aktuellerZustand". Ist er TRUE, dann ist das Licht an, ist er FALSE dementsprechend das Licht aus.

    2. Der Funkschalter-Sonoff wird per Tasmota-Befehl (Konsole: SwitchMode = 1) zum Taster umfunktioniert. Er schaltet dann kurz ein, das Attribut POWER ist währenddessen auf TRUE. Lässt man los, geht POWER wieder auf FALSE.

    3. Das Funkschalter.POWER-Attribut triggerst Du per Javascript oder Blockly. Bei mir ist im Trigger nur ein Datenpunkt namens #Meine_Szenen.0.Aufstehen, den ich per Alexa oder Dash Button (separater Mini-Trigger) umschalte.

    Bei mir sieht das in Blockly so aus:

    schimmer-media.de/index.php?attachment/468/

    Das Script zum Importieren findest Du hier:

    Spoiler anzeigen

    <xml xmlns="http://www.w3.org/1999/xhtml">

    <block type="on" id="04?:BbydL!?t]QjKaV_i" x="-137" y="-12">

    <field name="OID">#Meine_Szenen.0.Aufstehen</field>

    <field name="CONDITION">true</field>

    <field name="ACK_CONDITION"></field>

    <statement name="STATEMENT">

    <block type="controls_if" id=";sUv*v*mu-1hnbE8IH!W">

    <mutation else="1"></mutation>

    <value name="IF0">

    <block type="logic_compare" id=":F*b7nQ!R_*326-k7z`x">

    <field name="OP">EQ</field>

    <value name="A">

    <block type="get_value" id="T^~.(:WbCJj]csaK*8{M">

    <field name="ATTR">val</field>

    <field name="OID">#Meine_Szenen.0.Aufstehen_aktuellerZustand</field>

    </block>

    </value>

    <value name="B">

    <block type="logic_boolean" id="{lPI8,p*,g{bz-1IG(V-">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="comment" id="w2Omj%imOh|uMjT%?5FO">

    <field name="COMMENT">alles aus, also ausschalten</field>

    <next>

    <block type="debug" id="zp45|{~f9^`a/%8)S%lH">

    <field name="Severity">log</field>

    <value name="TEXT">

    <shadow type="text" id="E*.?R=72.vb]hAGaUS]M">

    <field name="TEXT">Alles eingeschaltet!</field>

    </shadow>

    </value>

    <next>

    <block type="update" id="NLYK[RKp?3.(?BL=C-Eb">

    <mutation delay_input="false"></mutation>

    <field name="OID">#Meine_Szenen.0.Aufstehen_aktuellerZustand</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="#CGqpMPhioRk.uy^uGK:">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    <next>

    <block type="control" id="De*E0x=^JG_EZ}tJd1HU">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-schlafzimmer-licht.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id=")e3P{le_htsH6ZLLAX=u">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    <next>

    <block type="control" id="2OGss;OrlIVm()_-z!sc">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-bad-licht.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="Gt,MtQ}D=3qN[V9/,Z2!">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    <next>

    <block type="control" id="X?@9Dz?!8H15i![1aqTS">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-3fach-1.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="SKsiSsuhqT*##z~r/|GR">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    <next>

    <block type="control" id="h8nCotcU/1BIG0?R1gM.">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-kueche-schraenke.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="xc2,b[q@eJ_.L3knHru3">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    <next>

    <block type="control" id="l1:oezw+.IVu0(nw{cbd">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-treppenhaus-licht.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="S8qpzR{r3j!GJFSjd[Al">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    <statement name="ELSE">

    <block type="controls_if" id="Ve45lNpt+p+/cI(@7L9n">

    <value name="IF0">

    <block type="logic_compare" id="`fH@6EFv#253TkVd^Q9Z">

    <field name="OP">EQ</field>

    <value name="A">

    <block type="get_value" id="]zqBTm?.^7F1l{btQhVA">

    <field name="ATTR">val</field>

    <field name="OID">#Meine_Szenen.0.Aufstehen_aktuellerZustand</field>

    </block>

    </value>

    <value name="B">

    <block type="logic_boolean" id="Fs!-x]2tAu4jBihFsRGh">

    <field name="BOOL">TRUE</field>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="comment" id="U]-TqqVTl2SKCuu:9^b*">

    <field name="COMMENT">alles an, also abschalten</field>

    <next>

    <block type="debug" id="hKXbeXOs{g6!~_+a620f">

    <field name="Severity">log</field>

    <value name="TEXT">

    <shadow type="text" id="S4Sg@g]1;}tobjRd8}g{">

    <field name="TEXT">Alles abschalten!</field>

    </shadow>

    </value>

    <next>

    <block type="update" id="B15/GDbVp{zXMOzZ(D:{">

    <mutation delay_input="false"></mutation>

    <field name="OID">#Meine_Szenen.0.Aufstehen_aktuellerZustand</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="RWC:Rt`2j}#*z7HY%`xP">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    <next>

    <block type="control" id="iLEp`JadjiM!!K!GrYdy">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-schlafzimmer-licht.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="z-_L,SkspOe#VpwwAMWW">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    <next>

    <block type="control" id="J[7X}cga8aL@-[4lgxWl">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-bad-licht.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="I+uHu~GTG/BK+Wlb4/(C">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    <next>

    <block type="control" id="|%2arqdI!4Yb5Y|*MlHK">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-3fach-1.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="|XgfbG^wXf0*rlw^KP)c">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    <next>

    <block type="control" id="iSgcZnR0-!Tq8)6.;/n^">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-kueche-schraenke.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="B*u!mkJDBL[bg/FAw=nS">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    <next>

    <block type="control" id="D6KMF#~56*u)0Z7Sv.fp">

    <mutation delay_input="false"></mutation>

    <field name="OID">sonoff.0.SON-treppenhaus-licht.POWER</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="bY9a9Vs@0(]Drj,d)E=c">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </statement>

    <next>

    <block type="update" id="d(-!B=MVC:wL8GJws0r+">

    <mutation delay_input="false"></mutation>

    <field name="OID">#Meine_Szenen.0.Aufstehen</field>

    <field name="WITH_DELAY">FALSE</field>

    <value name="VALUE">

    <block type="logic_boolean" id="VH-a*k6{s;[ucPRq#gEB">

    <field name="BOOL">FALSE</field>

    </block>

    </value>

    </block>

    </next>

    </block>

    </statement>

    </block>

    </xml>

    Damit funktioniert es bei mir einwandfrei. Kannst ja mal probieren, ob das so hinhaut.

    Einmal editiert, zuletzt von MasterOfDesaster (31. Januar 2018 um 19:54) aus folgendem Grund: Fehler im Script korrigiert; im unteren Teil werden die POWER-Switches alle auf WAHR gesetzt, was natürlich Quatsch ist. Der Spoiler mit dem exportierten Code ist aktualisiert!

  • hehe... das hat jetzt keinen Sinn mehr, war nur für mich zum Test, weil ich nicht die ganze Zeit ein- und ausschalten wollte und dazu das eigentliche Schalten ("steuere...") auskommentiert hatte.

    So konnte ich im Log sehen, was die Dinger machen :)

  • Hab das Blockly-Script gerade korrigiert und den Code neu hochgeladen...

    Beitrag oben ist editiert. Funktioniert mit meinen Dash-Buttons einwandfrei!

  • 2. Der Funkschalter-Sonoff wird per Tasmota-Befehl (Konsole: SwitchMode = 1) zum Taster umfunktioniert. Er schaltet dann kurz ein, das Attribut POWER ist währenddessen auf TRUE. Lässt man los, geht POWER wieder auf FALSE.

    Hallo, was muss ich bei diesen Punkt genau machen? Mein Englisch ist nicht gerade das beste ? hoffe ihr verzeiht mir

  • 1. Sonoff-Webinterface aufrufen

    2. Konsole anklicken und in der Konsole eingeben:

    3. savedata 1

    4. switchmode 1

    5. savedata 0

  • 1. das Webinterface des zu ändernden Sonoffs aufrufen

    2. Konsole anklicken und in der Konsole eingeben:

    savedata 1

    switchmode 1

    savedata 0

    Das war's!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!