Beiträge von Elzershark

    Das volle Programm.. Willste eh haben... :D

    1. Installiere den Adapter vis hqwidgets (auch updaten)

    2. Kopieren.. Blauer Pfleil. einfügen.. Rest wie oben...

    Code
    <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="1^1IXHS.b?M*ul+%7_wa" x="-562" y="-12">  <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>  <field name="CONDITION">any</field>  <field name="ACK_CONDITION"></field>  <statement name="STATEMENT">    <block type="controls_if" id="O}^?7r4,x0|wj^euJWA6">      <mutation elseif="1"></mutation>      <value name="IF0">        <block type="logic_compare" id="L2JIVx(*.eFcA:|4RCzd">          <field name="OP">EQ</field>          <value name="A">            <block type="get_value" id="pH8s.AVaIl7g}U)i60+]">              <field name="ATTR">val</field>              <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>            </block>          </value>          <value name="B">            <block type="logic_boolean" id="jMr_mHDBXLi7`u+uxOco">              <field name="BOOL">TRUE</field>            </block>          </value>        </block>      </value>      <statement name="DO0">        <block type="control" id="PXce3IY+TxqKl_#8HxH%">          <mutation delay_input="false"></mutation>          <field name="OID">javascript.0.scriptEnabled.Scripte.tts_Licht_Badezimmer_ein</field>          <field name="WITH_DELAY">FALSE</field>          <value name="VALUE">            <block type="logic_boolean" id="b?QiFq9_aS#{*12~dqpH">              <field name="BOOL">TRUE</field>            </block>          </value>          <next>            <block type="update" id="hIjDY@g){X`^OdAgsvsc">              <mutation delay_input="false"></mutation>              <field name="OID">javascript.0.countTrigger</field>              <field name="WITH_DELAY">FALSE</field>              <value name="VALUE">                <block type="logic_boolean" id="ryqiG9-DH6~]qJ2DjieP">                  <field name="BOOL">TRUE</field>                </block>              </value>              <next>                <block type="update" id="+oA1:x*T:RZap!e0E?JM">                  <mutation delay_input="true"></mutation>                  <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>                  <field name="WITH_DELAY">TRUE</field>                  <field name="DELAY_MS">5</field>                  <field name="UNIT">min</field>                  <field name="CLEAR_RUNNING">FALSE</field>                  <value name="VALUE">                    <block type="logic_boolean" id="?LZpRt.e%Ua(tgsQhVl)">                      <field name="BOOL">FALSE</field>                    </block>                  </value>                </block>              </next>            </block>          </next>        </block>      </statement>      <value name="IF1">        <block type="logic_compare" id="wDbsD)P_TEJzeLkwTJ?Y">          <field name="OP">EQ</field>          <value name="A">            <block type="get_value" id="59r3Yw=QROuzVWR}xWp7">              <field name="ATTR">val</field>              <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>            </block>          </value>          <value name="B">            <block type="logic_boolean" id="bihX(eUAsp3![MczsH8?">              <field name="BOOL">FALSE</field>            </block>          </value>        </block>      </value>      <statement name="DO1">        <block type="control" id="Ü0*1HrX(LdC*s`#,/=">          <mutation delay_input="false"></mutation>          <field name="OID">javascript.0.scriptEnabled.Scripte.tts_Licht_Badezimmer_aus</field>          <field name="WITH_DELAY">FALSE</field>          <value name="VALUE">            <block type="logic_boolean" id="#17Y`l/p/=[H6hl?:J8F">              <field name="BOOL">TRUE</field>            </block>          </value>        </block>      </statement>    </block>  </statement></block>

    3. countTrigger = objects - javascript.0 - countTrigger
    4. Vis Editor öffnen
    5. Das kopieren :

    Code
    [{"tpl":"tplHqCircle","data":{"visibility-cond":"==","visibility-val":1,"oid":"javascript.0.countdown","min":"0","max":"300","step":"1","displayPrevious":"true","readOnly":true,"unit":"s","visibility-groups-action":"hide","signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0,"digits":"0","is_comma":"true","descriptionLeft":"countdown","cursor":"","bgcolor":"","color":"#000000"},"style":{"left":"452px","top":"550px","width":"46px","height":"47px"},"widgetSet":"hqwidgets"}]

    6. Irgendwo rechten Mausklick und "Mehr" - "Widget importieren". Dann einfügen.
    7. Wenn Du nichts siehst (ein "Kreis" mit "0s") verschieb mal dein "3D Haus Bild" es wird darunter sein. Rechten Mausklick auf den Kreis und bei "mehr" - "in den Vordergrund)
    8. Den "Kreis" anklicken.
    9. Rechte Seite bei "Eigenschaften" des Objektes Bei "Wert" steht "300" Das sind die sec. also 300 Sec. = 5 Min.
    10. Fertisch

    Video für Dich<-------

    11. Ein script noch erstellen. das einfügen:

    Code
    createState('countdown', 300);createState('afterCount', false);createState('countTrigger', false);function count() {    setTimeout(function () {        var timer = getState('countdown').val || 300;        if (timer > 1) {            setState('countTrigger', false);            setState('countdown', timer - 1);            count();        } else {            setState('countdown', 0);            setState('afterCount', true);        }    }, 1000);}
    on('countTrigger', function (obj) {    if (obj.newState.val === true || obj.newState.val === 'true' || obj.newState.val == 1) {        setState('countdown', 300);        setState('afterCount', false);        count();    }    });

    Video Teil 2<------

    Alles kopieren und wo im Bild oben der "Blau markierte" Pfeil ist drücken. Dann einfügen.

    Code
    <block xmlns="http://www.w3.org/1999/xhtml" type="on" id="1^1IXHS.b?M*ul+%7_wa" x="-562" y="-12">  <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>  <field name="CONDITION">any</field>  <field name="ACK_CONDITION"></field>  <statement name="STATEMENT">    <block type="controls_if" id="O}^?7r4,x0|wj^euJWA6">      <mutation elseif="1"></mutation>      <value name="IF0">        <block type="logic_compare" id="L2JIVx(*.eFcA:|4RCzd">          <field name="OP">EQ</field>          <value name="A">            <block type="get_value" id="pH8s.AVaIl7g}U)i60+]">              <field name="ATTR">val</field>              <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>            </block>          </value>          <value name="B">            <block type="logic_boolean" id="jMr_mHDBXLi7`u+uxOco">              <field name="BOOL">TRUE</field>            </block>          </value>        </block>      </value>      <statement name="DO0">        <block type="control" id="PXce3IY+TxqKl_#8HxH%">          <mutation delay_input="false"></mutation>          <field name="OID">javascript.0.scriptEnabled.Scripte.tts_Licht_Badezimmer_ein</field>          <field name="WITH_DELAY">FALSE</field>          <value name="VALUE">            <block type="logic_boolean" id="b?QiFq9_aS#{*12~dqpH">              <field name="BOOL">TRUE</field>            </block>          </value>          <next>            <block type="update" id="+oA1:x*T:RZap!e0E?JM">              <mutation delay_input="true"></mutation>              <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>              <field name="WITH_DELAY">TRUE</field>              <field name="DELAY_MS">5</field>              <field name="UNIT">min</field>              <field name="CLEAR_RUNNING">FALSE</field>              <value name="VALUE">                <block type="logic_boolean" id="?LZpRt.e%Ua(tgsQhVl)">                  <field name="BOOL">FALSE</field>                </block>              </value>            </block>          </next>        </block>      </statement>      <value name="IF1">        <block type="logic_compare" id="wDbsD)P_TEJzeLkwTJ?Y">          <field name="OP">EQ</field>          <value name="A">            <block type="get_value" id="59r3Yw=QROuzVWR}xWp7">              <field name="ATTR">val</field>              <field name="OID">broadlink.0.learnedSignals.000000.Licht_Badezimmer</field>            </block>          </value>          <value name="B">            <block type="logic_boolean" id="bihX(eUAsp3![MczsH8?">              <field name="BOOL">FALSE</field>            </block>          </value>        </block>      </value>      <statement name="DO1">        <block type="control" id="%dc0*1HrX(LdC*s`#,/=">          <mutation delay_input="false"></mutation>          <field name="OID">javascript.0.scriptEnabled.Scripte.tts_Licht_Badezimmer_aus</field>          <field name="WITH_DELAY">FALSE</field>          <value name="VALUE">            <block type="logic_boolean" id="#17Y`l/p/=[H6hl?:J8F">              <field name="BOOL">TRUE</field>            </block>          </value>        </block>      </statement>    </block>  </statement></block>

    Angaben sind wie aus deinem Video:

    ALLE "Licht Badezimmer" = Object bei Broadlink im "000000" Ordner. Da wo gespeichert werden soll ob grad an oder aus ist. (oder Cloud Auswahl)
    steuere "scriptEnable....Badezimmer ein" = Brodlink Funksignal. Also deine gespeichertes Signal vom Broadlink für z.B. Licht an
    steuere "scriptEnable....Badezimmer aus" = Brodlink Funksignal. Also deine gespeichertes Signal vom Broadlink für z.B. Licht aus

    5 Min = Wann soll Licht ausgehen.

    Ausschlaggebend ist eigentlich nur, das nach der Verzögerung von 5 Min. das Objekt "Licht Badezimmer" aktualisiert wird zu Wert= "unwar"
    Dadurch wird automatisch von IoBroker der Teil von "sonst falls...mache" ausgeführt und die Lampe geht deswegen aus.

    <p>Für Windows User:</p>
    <p>2 ausführbare Dateien zum runterladen des Backup vom Server auf den PC und umgekehrt:</p>
    <p>Putty installieren:<br><a href="https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html"></a></p>
    <p>Bei dir im PC den Ordner "temp" erstellen in C:<br>(klein schreiben)</p>
    <p>Den Ordner öffnen wo Putty installiert ist.<br>Dort ist eine exe-Datei die pscp.exe heißt. (.exe muss nicht umbedingt sichbar sein)<br>Verknüpfung machen z.B. auf den Desktop. (Rechte Maustaste auf der Datei gedrückt lassen und auf den Desktop schieben. Loslassen und auf "Verknüpfung hier erstellen" klicken.)<br>Rechter Mausklick auf die Verknüpfung machen und auf "Eigenschaften" klicken.<br>Im Reiter "Verknüpfung" bei "Ziel" ganz am Schluss das reinkopieren:(Leerzeile am Anfang mit reinkopieren)</p>
    <pre data-file="" data-highlighter="" data-line="1">-q -batch -pw RaspberryKennwort RaspberryBenutzername@RaspberryIP:/opt/iobroker/archiv.tar.gz c:\temp\</pre>
    <p>(Kennwort, Benutzername u.s.w. ändern)</p>
    <p>Dann speichern.<br>Die Verknüpfung z.B. umbenennen in "Backup Download"<br>Beim Starten der Datei läd er das Backup bei dir auf den PC in C:/temp</p>
    <p>Noch ne Verknüpfung erstellen:<br>Wie oben Beschrieben das einfügen:</p>
    <pre data-file="" data-highlighter="" data-line="1">-q -batch -pw RaspberryKennwort c:\temp\archiv.tar.gz RaspberryBenutzername@RaspberryIP:/opt/iobroker/</pre>
    <p>Die Verknüpfung z.B. umbenennen in "Backup Upload"<br>Beim Starten der Datei läd er das Backup auf den Server in /opt/iobroker<br>(Geht nur, wenn die Datei in /opt/iobroker nicht vorhanden ist)</p>
    <p>die Verknüpfungen sehen bei mir so aus:</p>
    <p>Auf PC speichern:<br>"C:\Users\sharky\Google Drive\Server\pscp.exe" -q -batch -pw raspberry pi@192.168.178.42:/opt/iobroker/archiv.tar.gz c:\temp\</p>
    <p>Auf Server speichern:<br>"C:\Users\sharky\Google Drive\Server\pscp.exe" -q -batch -pw raspberry c:\temp\archiv.tar.gz pi@192.168.178.42:/opt/iobroker/</p>

    <p>Sorry, das backup funktioniert nicht bei jedem. <br>Es kommt immer drauf an welche Versionen man installiert von den Instanzen. <br>Daher kann es sein das es "jetzt" bei dir geht. <br>Bei einem weiterem upgrade leider nicht mehr. <br>Und dein "altes" Backup kriegst Du dann nicht mehr aufgespielt.</p>
    <p>So gehts aber immer ohne Probleme:</p>
    <p>Sichern=<br></p>
    <pre data-file="" data-highlighter="" data-line="1">sudo iobroker stopcd /opt/iobroker/sudo tar -czf archiv.tar.gz iobroker-data node_modulessudo iobroker start</pre>
    <p>Wiederherstellen=<br></p>
    <pre data-file="" data-highlighter="" data-line="1">sudo iobroker stop
    cd /opt/iobroker/
    sudo tar -xzf archiv.tar.gz
    sudo iobroker start</pre>
    <p>Das "Backup" liegt dann in /opt/iobroker/ als archiv.tar.gz</p>
    <p>Wie man die dann Lokal speichert hast Du ja beschrieben.</p>