Blockly Script funktioniert nicht ganz korrekt

  • Hallo zusammen,

    ich fange gerade an mich mit dem Thema Blockly zu beschäftigen und habe mein erstes Script gebastelt. Ich habe eine Steckdose (Gosund SP1) mit Tasmota geflasht und in den ioBroker eingebunden. Die Steckdose hat eine Leistungsmessung in W integriert, angeschlossen ist mein PC. Der PC verbraucht, heruntergefahren, noch ca. 23 W. Das Script sollte nun bewirken, dass die Steckdose ausschaltet wenn der PC heruntergefahren wurde, Grundlage für "PC heruntergefahren" ist Leistung unter 50 W. Da ich den PC ja auch irgendwann nochmal nutzen möchte habe ich eine Verzögerung (5 min) vorgesehen und die Option "Löschen falls läuft" gesetzt. Dummerweise schaltet die Steckdose irgendwann ab, auch wenn de rPC läuft. Was habe ich falsch gemacht?

    Hier das Script:

    <block xmlns="http://www.w3.org/1999/xhtml" type="on_ext" id="+A7wlutQO8gBfqosc.y3" x="-312" y="63">

    <mutation items="1"></mutation>

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

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

    <value name="OID0">

    <shadow type="field_oid" id="L[i=p{|ii-ai*/YAZ@8s">

    <field name="oid">[definition='84','0']sonoff[/definition].0.Steckdose-PC-Arbeitszimmer.ENERGY_Power</field>

    </shadow>

    </value>

    <statement name="STATEMENT">

    <block type="controls_if" id="HIm{OobQI[-rmr3+=HP6">

    <value name="IF0">

    <block type="logic_compare" id="M~uV)}gj0R1:#*W8;u|_">

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

    <value name="A">

    <block type="get_value" id=";C4ZX5Zy!7cKvi8im7j~">

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

    <field name="OID">[definition='84','0']sonoff[/definition].0.Steckdose-PC-Arbeitszimmer.ENERGY_Power</field>

    </block>

    </value>

    <value name="B">

    <block type="text" id="qZr5=RgO[|.`JAG]=%:e">

    <field name="TEXT">50</field>

    </block>

    </value>

    </block>

    </value>

    <statement name="DO0">

    <block type="control" id="W@d-F3O_9HHWW#dCNkL=">

    <mutation delay_input="true"></mutation>

    <field name="OID">[definition='84','0']sonoff[/definition].0.Steckdose-PC-Arbeitszimmer.POWER</field>

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

    <field name="DELAY_MS">5</field>

    <field name="UNIT">min</field>

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

    <value name="VALUE">

    <block type="logic_boolean" id="A4H}`x`xaT~u.qw:OMjO">

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

    </block>

    </value>

    </block>

    </statement>

    </block>

    </statement>

    </block>

  • Hi mera, Danke für den Tip mit dem Ping-Adapter. Das Script war als solches in Ordnung, nur die Verbindung zur Steckdose ist ab und an mal abgerissen und schaltete dann die Steckdosen aus. Mit dem Ping-Adapter klappt es.

    Gruß Flo

  • Hallo,

    ich hab auch ein Problem mit meinen Scripten. Z.B. dieser hier soll mir eine Meldung per Telegramm schicken, wenn eines der WLAN-Geräte min. 5 min. am Stück offline ist. Ich beobachte die Geräte mit dem Ping- und History-Adapter. Diese verlieren zwar zwischendruch die Verbindung, jedoch nie länger als die angegebene Zeit. Eine Meldung bekomme ich trotzdem.

    Script1

    Selbst bei diesen hier bekomme ich eine Meldung. Den hab ich in Vergleich zum ersten geschrieben, sogar mit
    einer längeren Zeit.

    Script2_1

    Script2_2

    Wo ist mein Denkfehler ?

  • Hallo zusammen,

    bin gerade an einem Skript und bekomme es nicht ganz hin. Ich habe Fenstersensoren (MaxCul-Sensoren mit Offen: True und False). Ich möchte dass Alexa mich nach 10 Minuten per Sprachansage erinnert die oder das Fenster zu schließen, sofern die Außentemperatur unter 15 °C ist. Das funktioniert bis dahin.

    Wenn ich nun das Fenster wieder schließe bevor die 10 Minuten abgelaufen sind, möchte ich dass ich nicht mehr von Alexa erinnert werde. Das funktioniert leider nicht.

    Jemand eine Idee woran das liegen könnte?

  • Das ist ja lustig. Ich hab vor ein paar Tagen exakt den selben Script geschrieben, sogar auch für die selbe Temperatur von 15°. Der Unterschied ist nur, das Alexa nur dann was sagt, wenn eine Bewegung im Wohnzimmer erkannt wird. Ich hab das Fenster und die Temperatur in de if-Abfrage ebenfalls getrennt.

    Funktioniert gut. Ich hab bis jetzt die Erfahrung gemacht, dass die Trigger mit den Multieingängen etwas unvorhersehbares bei mir auslösen. Je Fenster ein Trigger mal probieren.

  • Servus zusammen,

    es waren wohl die Multieingänge. Ich hatte zuerst mal die Abfrage "Fenster geschlossen" rein geneommen, allerdings kam die Ansage weiterhin, trotz geschlossener Fenster.

    @p.fuhsy: Die Anwesenheit / Bewegung hast Du aber nicht von Alexa, oder? Bewegungsmelder oder sowas denke ich mal...

Jetzt mitmachen!

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