Weiter zum Inhalt

Blockly

6.6k Themen 80.3k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Bitte um Hilfe: Push wenn was länger als Zeit x offline ist

    2
    1
    0 Stimmen
    2 Beiträge
    418 Aufrufe
    AsgothianA
    @freaktech was du möchtest: trigger auf den datenpunkt, wurde geändert stop Intervall set Variable blanket =0 Abfrage ob der DP wahr ist. Wenn nein: — start Intervall 15 Minuten, Darin: erhöhe blanket um 1, wenn blanket > 3 Meldung. Das war’s dann auch. A.
  • [gelöst] Kodi: Enduhrzeit berechnen

    44
    0 Stimmen
    44 Beiträge
    3k Aufrufe
    K
    @ostseereiter was genau meinst du ? ich habe immer verschiedene Versionen gepostet. der letzte Export von heute ist der entscheidene
  • hochzählen solange trigger auf wahr, zurücksetzen wenn false

    4
    1
    0 Stimmen
    4 Beiträge
    613 Aufrufe
    AsgothianA
    @passuff sagte in hochzählen solange trigger auf wahr, zurücksetzen wenn false: Diese Intervall Blöcke sind mir suspekt. Ich habe es inzwischen so versucht: Das dieses nicht funktioniert wundert mich nicht. Ich weiss nicht wie gut der ioBroker damit umgehen kann wenn der identische JS Code mehrfach parallel aufgerufen wird. Genau das kann aber passieren (Alternativ, wenn der ioBroker das erkennt und Blockiert wird auf weitere Trigger nicht reagiert) Das Problem an diesem Code ist das du "synchron" die Abarbeitung des Triggers so lange verzögerst bis der Wert sich wieder geaendert hat. Wenn du den Taster also lange genug fest hältst wird die Schleife nie beendet werden. Der "Pause" Baustein sorgt nicht dafür das das ganze asynchron bearbeitet wird, er sorgt nur dafür das die Abarbeitung pausiert. Dennoch kommt der Aufruf der den Trigger startet nicht zurück. Genau das ist aber was der ioBroker benötigt. Die einzelnen Funktionen die durch einen Trigger aufgerufen werden sollten so schnell wie möglich zurück kommen. Wenn in einer Funktion ein "Intervall" gestartet wird, dann ist das "asynchron", sprich die Abarbeitung wird nur angestossen und die Funktion kommt sofort zurück. Warum schreibe ich das so ausführlich ? Dein Blockly ist ein extrem gutes Beispiel wie man es NICHT machen sollte. @paul53 hat davor schon die "saubere" Variante gepostet, die letztendlich genau das gleiche macht was du auch mit deiner Variante versucht hast, nur halt "asynchron" anstatt "synchron". A.
  • [gelöst] DS18b20 - Alexa wiederholt sich

    6
    1
    0 Stimmen
    6 Beiträge
    634 Aufrufe
    S
    Vielen Dank an alle !!!
  • Fensterkontakt als Zugluftwächter für Ofen benutzen

    3
    0 Stimmen
    3 Beiträge
    451 Aufrufe
    N
    @Asgothian Vielen Dank. Ja das mit der Struktur hab ich mir schon beim schreiben gedacht und dann beim wegschicken ist es mir aufgefallen das ich das selber sehr schlecht formuliert hab. Aber vielen Dank. Werde es mal so in der Richtung ausprobieren und lasse dann ein Script hier mit besserer Struktur :)
  • Reicht die erzeugte Menge Strom für eine größere Batterie?

    61
    0 Stimmen
    61 Beiträge
    3k Aufrufe
    B
    @babl So nun wieder ein neues Problem wo ich wieder Hilfe benötigen würde. [image: 1604596226473-test-script.jpg] Das Script für die Variable maxbat level paßt, hier schreibe ich nur pauschal wie oft die Batterie nicht voll geworden ist. aber bei dem minbatlevel würde ich gerne auswerten wieviel tage sie nur zu 0 - 19% / 20 -39% usw. geladen wurde. Hier muß ich doch den ganzen tag abfragen so trägt er mir nur den aktuellen wert ein denn das script beim abruf erhält. wer kann mir hier helfen, ich hoffe daß ich durch diese Hilfe dann irgendwann vielleicht selber so weit bin und hier auch vernünftige scripte auf die Reihe bekomm. So wie es aktuell aussieht läuft das Script und macht was es soll, vielleicht kann doch jemand mal drüberschauen und vielleicht einen tipp geben ob man das besser machen kann.
  • Skripthilfe falls ein Wert länger als .. dann ..

    blockly
    4
    1
    0 Stimmen
    4 Beiträge
    861 Aufrufe
    F
    Ja das ist das ganze Blockly bzw. eines von zwei hier noch das erste: [image: 1604594144963-2020-11-05-17_35_22-javascript-iobroker.png] Ich steuere darüber in diesem Fall mein Licht. Ich nutze noch Fibaro Motion Sensoren als Bewegungssenoren. Bei Bewegung bleibt der Wert immer auf true erst wenn keine Bewegung mehr wahrgenommen wird stellen die sich auf false. Lich sind HUE color Spots. Trotzdem kommt es vor warum auch immer das ich im dunkeln stehe obwohl ich mich die ganze zeit bewege. Gruss
  • Kodi - Stream via Blockly aufrufen

    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    Ralla66R
    @oberfragger warum gehste nicht mit Verbindung 1 auf die Enigma per IPTV und mit Verbindung 2 nach Motion. Verstehe ich Grad nicht.
  • Event nur einmal in 5 Minuten

    3
    0 Stimmen
    3 Beiträge
    246 Aufrufe
    mcBirneM
    @Nordischerjung super Tipp. Danke!
  • AutoOFF nach bestimmter Zeit

    10
    1
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    B
    Vielen herzlichen Dank! Da war tatsächlich der Wurm drin! Jetzt funktioniert es.
  • Blockly Frage

    5
    0 Stimmen
    5 Beiträge
    291 Aufrufe
    HomoranH
    @denjo sagte in Blockly Frage: weil ich immer warn meldungen bekomme Und was steht drin?
  • [gelöst] Timer erst starten, wenn Gerät nicht mehr aktiv ist

    16
    1
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    SlowmanS
    Danke für die Hilfe paul53 Hier der fertige Blockly, vielleicht kann ja Jemand diesen gebrauchen. [image: 1604502675380-screenshot_2020-11-04-javascript-iobroker.png] <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable type="interval" id="Intervall">Intervall</variable> </variables> <block type="on_ext" id="F!vi?BKRsLZog%?FBH:g" x="145" y="-541"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="wVxaT/vXrZp%oq.$ztTZ"> <field name="oid">deconz.0.Sensors.36.open</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="XW_hOHdKCcq}gh.l`+$j"> <value name="IF0"> <block type="logic_compare" id="}xOLFNov3G6s*}2,Z2UM"> <field name="OP">LTE</field> <value name="A"> <block type="get_value" id="6e}P^ZNT_Jy6-ja?r]U{"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.33.temperature</field> </block> </value> <value name="B"> <block type="math_number" id=",G{QbJ|6c5{,Iq^!$Li3"> <field name="NUM">15</field> </block> </value> </block> </value> <statement name="DO0"> <block type="controls_if" id="X3z1#^5Fw/yt.JJH%mgG"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_compare" id="kz6a*@]rTi@)ZP{,]#*:"> <field name="OP">NEQ</field> <value name="A"> <block type="get_value" id="XEaJQQQ*$nX}=}pk-D/r"> <field name="ATTR">val</field> <field name="OID">deconz.0.Sensors.36.open</field> </block> </value> <value name="B"> <block type="math_number" id="Yrl[!=%9ZHJUAD;25Obz"> <field name="NUM">0</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_setinterval" id="u#rS73GY/m7T~.#Bh9QU"> <field name="NAME">Intervall</field> <field name="INTERVAL">10</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="=*B,vjZW*hnjeJ!PgxP@"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50783952J5A.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="s(HE-yMfiJs%,njRSwwp"> <field name="TEXT">20;Das Fenster im Gäste WC ist seit 10 Minuten offen</field> </block> </value> </block> </statement> </block> </statement> <statement name="ELSE"> <block type="timeouts_clearinterval" id="e^!S+IEUkz74-KWuLP)]"> <field name="NAME">Intervall</field> <next> <block type="control" id="|X=~p7*8$lmTqfr`DR.L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">alexa2.0.Echo-Devices.G090U50783952J5A.Commands.speak</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="r41/^`!#QQ8#L)reQ5BH"> <field name="TEXT">20;Danke, das Du das Fenster im Gäste WC geschlossen hast.</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
  • [gelöst] Sekunden in Std:Min:Sek formatieren

    blockly
    6
    2
    0 Stimmen
    6 Beiträge
    390 Aufrufe
    K
    habe grade von @paul53 einen intessanten Link erhalten: https://forum.iobroker.net/post/470288 Scheint zu funktionieren: [image: 1604497832417-37cfde65-3ba7-4945-8d3c-5a9dada84454-grafik.png] 02:00:00
  • Tagesstromverbrauch mit Blockly ermitteln

    4
    0 Stimmen
    4 Beiträge
    750 Aufrufe
    paul53P
    @wolkenschaufler sagte: Kannst du mir das erklären? @paul53 sagte in Tagesstromverbrauch mit Blockly ermitteln: sie muss auf den Zählerstand um Mitternacht gesetzt werden. Tagesverbrauch = Zählerstand heute - Zählerstand gestern,
  • Sinnvoller Trigger für Alexa gesucht ...

    9
    1
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    M
    @dslraser korrekt, ist ein Button und ja, geht mit dem selben Befehl an und aus. Das mit dem "umschalten" funktioniert so - habe "steuern" probiert und es hat nicht funktioniert. Die Dreambox bekommt das selbe IR signal ( Power on ), somit ist das auch geklärt warum das funktioniert. Fehlt nur noch wie ich den LED DImmer bei Kommando "alexa tv aus " . Ich sehe da keine andere Möglichkeit, als komplett alles umzubauen und auf den Schaltzustand des LED Dimmers zu prüfen, oder siehst Du noch eine andere Lösung?
  • counter für fenster, wie lange geschlossen

    javascript blockly
    13
    1
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    S
    @Turrican Unter Mathematik ist das +, und dort kann man auch die anderen Rechenarten wählen und den Baustein in die vertikale Version umwandeln: [image: 1604492791533-0f4a703d-2bb3-4742-a357-ea55d8ef2725-grafik.png]
  • Blockly Schleife

    20
    0 Stimmen
    20 Beiträge
    1k Aufrufe
    werner2000xW
    @jensven Oben im Script wird wertabhängig gesteuert, d.h. es wird der gesamte Bereich von 0% bis 100% bzw. umgekehrt durchlaufen mit einer Schrittweite von 10%. Die Schrittweite kann variiert werden und damit die Länge der Durchlaufzeit. Bei dir ist die Schrittweite 1 und du benutzt zwei Schleifen statt einer Schleife. Die Zeit ist durch die Schleife(n) vorgegeben. Es werden nicht unbedingt alle Werte durchlaufen.
  • Multimediasystem steuern

    3
    1
    0 Stimmen
    3 Beiträge
    396 Aufrufe
    J
    Keiner eine Idee? Mir würde es schon reichen, wenn mir jemand sagen könnte, wie ich den Baustein "wurde aktualisiert" zu "wurde nicht aktualisiert" verändern kann...
  • Blockly parallel ausführen

    5
    0 Stimmen
    5 Beiträge
    774 Aufrufe
    Jochen BaurJ
    @paul53 Hättest du dazu ein "Dummy" Blockly ? Danke & Gruß Jochen
  • Exec Befehl für USV wird nicht korrekt ausgeführt

    blockly
    3
    1
    0 Stimmen
    3 Beiträge
    266 Aufrufe
    David G.D
    @Thomas-Braun Das kann sein. Bin bzgl. Linux ein ziemlicher Dau. Habe den Nut Server nach Anleitung installiert. Bis auf den automatischen Start klappt auch alles. Hab diesen gemäß Anleitung auch folgendermaßen konfiguriert: [image: 1604441669180-screenshot_20201103-231221_raspcontroller.jpg] (Bekomme am Handy den Text leider nicht kopiert.)

442

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge