Skip to content

Blockly

Hilfe für Skripterstellung mit Blockly

6.5k Themen 79.4k Beiträge

NEWS

  • Problem mit "debug output" und loglevel "Info"

    2
    0 Stimmen
    2 Beiträge
    347 Aufrufe
    AlexAtHomeA
    Vielleicht müsste das eher in die Kategorie Fehler/ Bugs... ?
  • An Textdatei weitere Zeilen anhängen

    Gelöst blockly
    11
    2
    0 Stimmen
    11 Beiträge
    314 Aufrufe
    MartinPM
    @oliverio Vielleicht NOCH nicht. Wenn man wiederholt etwas an eine Datei anhängt, hat sie die Tendenz immer größer zu werden.... Bis man in die Probleme kommt hat man ggfs vergessen, was man damals verzapft hat, und wundert sich, woher die sprunghaften Anstiege im Speicherbedarf kommen. Gibt aber eine Append Variante als Javascript Funktion im Forum hier..
  • [gelöst] Unterschied Hellblau und Dunkelblaue Werte

    5
    1
    0 Stimmen
    5 Beiträge
    563 Aufrufe
    M
    Das Leben kann so einfach sein - Danke ihr zwei - Jemand musste mich vom Schlauch schubsen :rolling_on_the_floor_laughing:
  • Bewegungsmelder mit drei Trigger

    5
    1
    0 Stimmen
    5 Beiträge
    264 Aufrufe
    AphofisA
    Also habe das Script jetzt so am laufen, nur reagiert die Steuerung nicht auf den Tuya Motion Sensor. Auf den Hue Sensor reagiert die Steuerung sofort. Das Licht bleibt auch so lange an wie man sich im Bewegungsmelder befindet. Demnach ist eine zweite und dritte true Steuerung im Script nicht nötig. <xml xmlns="https://developers.google.com/blockly/xml"> <variables> <variable id="QnW[`;@/$OE[/o?R?9KO">Bad_Zeit</variable> <variable type="timeout" id="timeout">timeout</variable> </variables> <block type="variables_set" id="ij5A!B~ZvKB}2g7CJ@rZ" x="-1412" y="-1712"> <field name="VAR" id="QnW[`;@/$OE[/o?R?9KO">Bad_Zeit</field> <value name="VALUE"> <block type="math_arithmetic" id="Fh.5L+OJV/kES0=%)|n*"> <field name="OP">MULTIPLY</field> <value name="A"> <shadow type="math_number" id="8u?[9nc+)A)5Z~OOXl/e"> <field name="NUM">1</field> </shadow> <block type="get_value" id="_}MK~gqwd;]^J]]l.(qS"> <field name="ATTR">val</field> <field name="OID">0_userdata.0.Aqua_Control.0.Lichtsteuerung.Bad_Zeit</field> </block> </value> <value name="B"> <shadow type="math_number" id="uEqjb5kJmvM]BY*ggl^m"> <field name="NUM">1000</field> </shadow> </value> </block> </value> <next> <block type="on_ext" id="Nj(te{x3$e6!~{f@69xR"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="c%l5fWgvmI!,g`p~4n;j"> <field name="oid">hue.0.Bad_Motion_Sensor.presence</field> </shadow> </value> <value name="OID1"> <shadow type="field_oid" id="JMXkf*G;~!l?^1xx7[-M"> <field name="oid">tuya.0.bf15a2489964bff33bavvv.1</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="v%91paFmpsDs~u$16I*j"> <mutation else="1"></mutation> <value name="IF0"> <block type="logic_multi_or" id="38xc5!X2GPCNpnQji5IX"> <mutation xmlns="http://www.w3.org/1999/xhtml" items="2"></mutation> <value name="OR0"> <block type="get_value" id="+YT7FtsKaa*oQiK*IAP["> <field name="ATTR">val</field> <field name="OID">hue.0.Bad_Motion_Sensor.presence</field> </block> </value> <value name="OR1"> <block type="get_value" id="_b|n]g~z2%MxG=2=njM("> <field name="ATTR">val</field> <field name="OID">tuya.0.bf15a2489964bff33bavvv.1</field> </block> </value> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="Zbw-y?`R?n}TqCVr8eS?"> <field name="NAME">timeout</field> <next> <block type="controls_if" id="RRHwVb3uk;YhL$h{z9ih"> <value name="IF0"> <block type="logic_negate" id="qeh{!QXeIw0siry8~QcI"> <value name="BOOL"> <block type="get_value_var" id="i4k=;%0p((Qh7o7!x=b)"> <field name="ATTR">val</field> <value name="OID"> <shadow type="field_oid" id="(KIF75}+6Mkg+jw3;c)u"> <field name="oid">ID auswählen</field> </shadow> <block type="text" id="0D(AniBb=!_AI~ff3KC@"> <field name="TEXT">sonoff.0.bad_deckenlampe.POWER</field> </block> </value> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="j?7(Fp{-}?,%mB.fxC^`"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.bad_deckenlampe.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="2z-cxu^{UVe{ePvV=a={"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout_variable" id="%IO%(rYDgtZ[cou8h;de"> <field name="NAME">timeout</field> <value name="DELAY_MS"> <shadow type="math_number" id="2FV%[9uG6hfTxJv(1^Mu"> <field name="NUM">1000</field> </shadow> <block type="variables_get" id="tc];X{v`Y6eBmBkM.Fs6"> <field name="VAR" id="QnW[`;@/$OE[/o?R?9KO">Bad_Zeit</field> </block> </value> <statement name="STATEMENT"> <block type="control" id="m|A:PzDnfvu95fRcW=_L"> <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation> <field name="OID">sonoff.0.bad_deckenlampe.POWER</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="k!b54}gJD~x8VPTW#Wsb"> <field name="BOOL">FALSE</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block> </next> </block> </xml> [image: 1723254328549-screenshot-2024-08-10-034302.png]
  • [Gelöst] Zeit bis zu einem Bestimmten Datum und Uhrzeit

    7
    0 Stimmen
    7 Beiträge
    652 Aufrufe
    S
    @jojo58 Hab das gar nicht gebraucht. Man kann im Block "runde" unter Mathematik gleich die Option aufrunden nehmen :D
  • Scripte durch "auslagern"übersichtlicher machen *gelöst*

    10
    0 Stimmen
    10 Beiträge
    776 Aufrufe
    BananaJoeB
    @gluecksmann wie @MartinP schreibt: Probiere mal das "rechte Maustaste" Menü in Blockly aus wenn du einen Block anklickst. Baustein zusammenfalten schrumpft das je nach Kontext zusammen, Kommentarzeilen dürfen in der neusten Version auch mehrzeilig sein und damit das ganze ggf. beschriften. Ein Umschalten zwischen interne Eingänge und externe Eingänge kann es auch verkleinern. Und Funktionen sind dein Freund! Alles was du mehr als einmal brauchst, packst du in eine Funktion und rufst diese dann nur noch auf. Die Funktionen kannst du selbstverständlich auch zusammenfalten und entfaltest die nur wenn du an denen was ändern willst. Das einzige was mich manchmal stört, ist das Funktionen selbst als Baustein "frei schweben". Das ist ja prinzipiell richtig, Funktionen können irgendwo im Quelltext liegen. Und dürfen partout nicht unterhalb von irgendwelchen anderen Bausteinen landen. Meisten packe diese oben drüber, manchmal daneben.
  • Tibber Aktueller Preis oberhalb des Durschnittspreises

    7
    0 Stimmen
    7 Beiträge
    679 Aufrufe
    R
    @mading Denn Durchschnitspreis entnehme ich direkt aus dem Tibberadapter und lasse ihn dann mit dem Skript in false/true Datenpunkt umrechnen. @paul53 Danke für den Hinweis, da hast du natürlich recht und ich habe das auch so geändert. Heute kam ich noch auf die Idee mir die günstigsten Stunden direkt anzeigen zu lassen. Also soll in der VIS eine Meldung erscheinen wie z.B: "Heute 17 - 19 Uhr" Im Tibberadapter gibt es dafür wohl schon eine Funktion, die ich mir aber noch gedanklich erschließen muss. :- Grüße Ron
  • Skript sendet Nachricht via Pushover

    15
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    P
    @mcm1957 Die Quelle sollte auch im Datenpunkt vom Pushover stehen.
  • Solar-Poolheizung Steuerung

    5
    0 Stimmen
    5 Beiträge
    437 Aufrufe
    HomoranH
    @stefan_tr96 bevor du dich mit dem Schieberegister beschäftigst, ein Frage zu dem Sinn der Aktion (von zusätzlichen Feinheiten, die deine Anforderungen zunichte machen ganz abgesehen) : Wieviel Liter hat dein Pool? Wieviel Liter hat deine Schleife? Hast du mal gerechnet wieviel "Restenergie" du mit so einer Aktion noch in den Pool bringst?
  • PV Akkulaufzeit in Datenpunkt

    6
    1
    0 Stimmen
    6 Beiträge
    506 Aufrufe
    HomoranH
    @bishop sagte in PV Akkulaufzeit in Datenpunkt: Der Soc wert ist der Prozentwert des Akkus ja, StateOfCharge = Ladezustand @bishop sagte in PV Akkulaufzeit in Datenpunkt: und was ist BatteryLife_min für ein Wert? Das ist ein Wert, der vom Victron System als tiefster Entladeboden berechnet wird um eine möglichst lange BatterieLebensdauer zu erreichen
  • [Gelöst]Blockly Display Beleuchtung ein / ausschalten

    6
    2
    0 Stimmen
    6 Beiträge
    460 Aufrufe
    Thomas BraunT
    @darkmann2000 sagte in Blockly Display Beleuchtung ein / ausschalten: Funktioniert Na klar! :-)
  • Leistungssteuerung PV-Wechselrichter "0-Einspeisung"

    blockly javascript
    152
    3
    0 Stimmen
    152 Beiträge
    33k Aufrufe
    F
    @paul53 Muss nicht ausgeschaltet werden, möchte ich aber. Und dafür ist das da. Das letzte Runden bei 0 müsste nicht mehr sein, ist mir aber egal. ;)
  • Blockly für zigbeeschalter welcher nur read hat

    32
    1
    0 Stimmen
    32 Beiträge
    2k Aufrufe
    R
    @paul53 Du hattest recht. So funktioniert es. Vielen, Vielen Dank
  • Blockly - Adapter in iobroker automatisiert ausschalten

    12
    0 Stimmen
    12 Beiträge
    431 Aufrufe
    haus-automatisierungH
    @nivicoj sagte in Blockly - Adapter in iobroker automatisiert ausschalten: @crunchip [image: 1722538250119-img_6331.jpeg] Danke, funktioniert. Ich hab das wie folgt angepasst. Sorry für diese Newbie Frage. Ich beschäftige mich erst seit wenigen Tagen mit iobroker und heute erstmal richtig mit Blockly Ist halt sau umständlich über exec und das ioBroker CLI zu gehen. Nimm doch die Blöcke dafür (warum auch immer man die Instanz stoppen möchte): [image: 1722768136356-blocklyinstanzenstartestoppen.png]
  • Blockly Fehler seit js-controller 6.0.9 / javascript 8.7.6

    blockly javascript monitoring
    1
    1
    0 Stimmen
    1 Beiträge
    183 Aufrufe
    Niemand hat geantwortet
  • aWattar Daten verarbeiten

    16
    1
    0 Stimmen
    16 Beiträge
    3k Aufrufe
    J
    @chris0680 sagte in aWattar Daten verarbeiten: folgende Das Script will dir Daten mailen. Das kann es aber nur wenn das Mail App installiert ist (https://www.iobroker.net/#de/adapters/adapterref/iobroker.email/README.md) und dort auch eine Mail-Adresse/Instanz hinterlegt ist. Daher vorher das machen und dann das blockly importieren. Läuft bei mir seit Monaten ohne Probleme durch.
  • Keine Pause eingehalten

    13
    2
    0 Stimmen
    13 Beiträge
    753 Aufrufe
    W
    @paul53 Danke, das Problem scheint gelöst zusein. VG
  • Timeout Zeit verkürzen

    16
    0 Stimmen
    16 Beiträge
    842 Aufrufe
    G
    @codierknecht JSON wäre eine Idee, das stimmt. Bin damit nicht ganz so vertraut, daher vergesse ich das JSON immer.
  • verschiedene Zeiträume aus einer Liste berechnen

    8
    1
    0 Stimmen
    8 Beiträge
    599 Aufrufe
    docadamsD
    @homoran Und genau daran scheiterte ich mit meinem obigen Versuch. Aber siehe Paus53 @geschild ZITAT : Meinst du etwa, dass du immer in die gleiche Liste schreiben möchtest und sobald 2976 Werte eingetragen sind, jeweils der älteste Wert überschrieben bzw. aus der Liste herausgeschoben werden soll ? Genau, also ja. @paul53: Ich glaube, das ist die Lösung. Diese Auswahl "bis letztes" hatte ich noch nicht entdeckt. PS: bleibt noch die Frage, wieviele Messpunkte eine solche Liste verkraftet.
  • Tagesstromverbrauch Shelly Plugs berechnen

    5
    0 Stimmen
    5 Beiträge
    438 Aufrufe
    paul53P
    @hotspot_2 sagte: plug1 für Shelly Plug 1 und plug2 Shelly Plug 2, usw.? Ja, wenn mehrere Shellys in einem Skript ausgewertet werden, benötigt jeder Shelly seine eigene Energie-Variable. @hotspot_2 sagte in Tagesstromverbrauch Shelly Plugs berechnen: Wird die Variable dann nicht nur beim Start des Skriptes aktualisiert? Nein, sie wird mit jedem Trigger erhöht. @hotspot_2 sagte in Tagesstromverbrauch Shelly Plugs berechnen: Objekt "Leistung" ist das der Watt Wert vom Shelly? Ja. Anmerkung: Wenn mehrere Shellys in einem Skript verarbeitet werden, können alle zusammen in einem Mitternachts-Trigger zurück gesetzt werden.

597

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge