Skip to content

Blockly

6.6k Topics 79.9k Posts

Hilfe für Skripterstellung mit Blockly

NEWS

  • Pool Wärmepumpe & PV Überschuss + PV Speicherfüllstand

    26
    4
    0 Votes
    26 Posts
    2k Views
    paul53P
    @jonas5492 sagte: werde jetzt mal schauen was mit den neuen debug rauskommt Packe die Debug-Blöcke besser in den Trigger von "Pumpe Ein/Aus": [image: 1749748769937-blockly_temp.jpg]
  • Skript Motorschloss

    32
    0 Votes
    32 Posts
    3k Views
    B
    @paul53 So funktioniert es Exakt !! Ich lass des mal im täglichen betrieb jetzt laufen. Vielen Vielen Dank !! mal wieder !! Grüße Balu
  • Bewegungsmelder mit Timer

    24
    1
    0 Votes
    24 Posts
    2k Views
    O
    Was haltet ihr davon: [image: 1749422653772-064904c6-1631-46b1-b3b3-4c23a419159a-image.png]
  • Verständnisfrage Zeichenkette / String

    8
    2
    0 Votes
    8 Posts
    666 Views
    HomoranH
    @homoran sagte in Verständnisfrage Zeichenkette / String: @ralf-2 sagte in Verständnisfrage Zeichenkette / String: Dann beim zu steuernden Datenpunkt auf den Stift klicken @Takahara das wäre der HmIP Datenpunkt! zeig uns bitte da von einem die Objektdaten in code-tags @Takahara kommt das noch? bei nochmaligem Ansehen fiel mehr leider jetzt erst auf, dass du auch bei eigenen Datenpunkten fälschlicherweise "steuere" verwendest, obwohl diese Datenpunkte nichts steuern.
  • Verständnisfrage Datentyp || Temp/Min/Max

    7
    3
    0 Votes
    7 Posts
    501 Views
    AsgothianA
    @takahara sagte in Verständnisfrage Datentyp || Temp/Min/Max: @homoran said in Verständnisfrage Datentyp || Temp/Min/Max: Es sieh beim Blockly allerdings so aus, als ob du die aktuellen Werte nur bei Skriptstart eingelesen werden. Natürlich hast du recht. Danke :) :) :( VG Takahara Die effizienteste Lösung ist: die Variable ActTemp entfernen, sie wird nicht gebraucht an Stelle der Variable ActTemp (überall wo sie im Skript auftaucht) den Baustein [image: 1749294056234-screenshot-2025-06-07-at-13.00.53.png] nutzen. (auf Deutsch steht da Wert drin. Dieser Baustein enthält den Wert der den Trigger ausgelöst hat. A. Nachtrag: Das zurücksetzen von minTemp und maxTemp erscheint mir seltsam. So wie du es setzt kann die minimale Temperatur grösser als -50 sein, sowie die maximale nie kleiner als 50. Das sieht seltsam aus. A.
  • frage zu Blockly (Datenpunkt und Ändernung)

    9
    1
    0 Votes
    9 Posts
    673 Views
    D4vED
    @padrino sagte in frage zu Blockly (Datenpunkt und Ändernung): @d4ve Auch wenn man mich wohl ignoriert, im ersten Beitrag war doch Status schon auf "Änderung", hätte es doch klappen müssen... nein nein sry. hab dein Beitrag gelesen. nur ich hab schon öfter mit Paul geschrieben. und er könnte mir bis her immer zu 100% helfen daher bin ich direkt auf seine Nachricht eingegangen. das war absolut nicht gegen dich. danke dir auch.
  • Zeitplan, jeden zweiten Tag, Probleme..

    23
    3
    0 Votes
    23 Posts
    2k Views
    S
    @codierknecht @paul53 Vielen Dank für Eure Hilfe, hab es nun erstellt!
  • Alexa Lautstärke auf 0 setzen

    javascript blockly
    7
    0 Votes
    7 Posts
    729 Views
    padrinoP
    @arteck sagte in Alexa Lautstärke auf 0 setzen: alexa2.0.Echo-Devices.xxxxx.Player.volume ja, da werden die einzelnen Dosen auf das volume der Gruppe gesetzt und dan nur wenn muke läuft..sonst nicht Also, die Geräte werden auch auf "0" gesetzt, wenn keine Musik spielt. Das Problem ist nur, ist ein Gerät auf "0" und es erfolgt danach eine neue Ausgabe, dann wird das Gerät automatisch auf 1 (also 10% gestellt). Sprich ein dauerhaftes Stummschalten für zukünftige Ereignisse geht mit "Volume 0" nicht. bei alexa2.0.Echo-Devices.xxxx.Commands.speak-volume eben nicht.. Das meinte ich gar nicht, mit meinem Hinweis auf "speak". Was ich meinte, als ich mal mein Problem schilderte, dass ein alexa2.0.Echo-Devices.gruppenID.Commands.speak nicht immer auf allen Geräten ankomme, bekam ich die Antwort, dass ein "speak" auf Gruppen von Amazon nicht vorgesehen sei und daher sich der Adapter drum kümmere, die einzelnen Geräte per "speak" anzusteuern (daher kann es auch zu Verzögerungen kommen und nicht alle Geräte sprechen 100% zu selben Zeit). Meiner Vermutung war also, es könnte mit "Gruppen Volume" ähnlich sein, mehr wollte ich damit nicht sagen, sprich, eigentlich ist es für das Ergebnis eher egal, ob nun wirklich amazon die Gruppe auf "0" stellt, oder der Adapter jedes Gerät manuell.
  • Erl.: State Enums setzen ..

    2
    2
    0 Votes
    2 Posts
    178 Views
    MartinPM
    Selbst gefunden, durch mehr Logging - man kann einfach die Zahl in Klammern hernehmen .... [image: 1749134901636-auswahl_023.png] Also [image: 1749135012152-dbd8e69d-aa81-45c0-97e5-f4f824b800e5-grafik.png]
  • Zeitplan Probleme

    Moved
    57
    2
    0 Votes
    57 Posts
    5k Views
    AsgothianA
    @codierknecht sagte in Zeitplan Probleme: übersehen, dass hier Timeout und nicht Intervall Teufel, Detail, Offene Fragen :)
  • Blockly für Sturmerkennung so korrekt ?

    11
    1
    0 Votes
    11 Posts
    913 Views
    Q
    @paul53 Vielen Dank für deine Hilfe! Lässt sich der Mehrverbrauch an Ressourcen durch diese "nicht optimale" Art Skripte quantifizieren ?
  • Script auf mehrere Objekte + Wert Parent-Ordners auslesen

    8
    0 Votes
    8 Posts
    540 Views
    A
    hier übrigens das script für alle, die daran interessiert sind. AP von 10.1.1.1 entsprechend auf euren AP setzen: var url, TagMini1, jsonMini1; async function encodeURL(url) { url = encodeURIComponent(url); return url; } on({ id: [].concat(new RegExp('0_userdata\\.0\\.vars\\.etags\\..+\\.json')), change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; jsonMini1 = await encodeURL(String((obj.state ? obj.state.val : ''))); httpPost('http://10.1.1.1/jsonupload', (['mac=',obj.channelName,'&json=',jsonMini1].join('')), { timeout: 15000, responseType: 'text' }, async (err, response) => { }); });
  • Blocky Lichtsteuerung klappt irgendwie nicht.

    Moved
    20
    1
    0 Votes
    20 Posts
    2k Views
    CodierknechtC
    @realrob Tu Dir einen Gefallen und ändere den Zeitplan für 02:00 Uhr in einen CRON. Das läuft stabiler. [image: 1748985880615-4ee4eb71-a6c3-4781-a9ec-8a0afc107465-grafik.png] Mal ganz davon abgesehen dass das auch jeder lesen kann statt diesem abgeschnittenen Kauderwelsch ;-)
  • [gelöst] Summe über Liste mit enum.functions

    4
    4
    0 Votes
    4 Posts
    222 Views
    A
    Ein großes Danke an @paul53. Du bist (mal wieder) mein Blockly-Held! Funktioniert einwandfrei! Auf diese Lösung wäre ich nie gekommen! Vielen Dank! Gruß Alchemi
  • [solved] bei httpGet auf timeout reagieren?

    2
    2
    0 Votes
    2 Posts
    213 Views
    C
    habe es mit [image: 1748944324616-da9aea2f-abca-4caa-922d-b905ea9da899-grafik.png] hinbekommen...
  • Geigerzähler GQ Electronics GMC 320+ V5

    blockly communication
    3
    0 Votes
    3 Posts
    658 Views
    S
    @sborg @JamesFrosch007 falls das Thema noch wen interessiert: ich hab das mit Node-Red relativ einfach gelöst. zusätzliches npm package node-red-node-serialport installiert Node-Red-Flow [ { "id": "7f40fabab7ea23c0", "type": "serial in", "z": "c241f527b52bd10a", "name": "GMC-320", "serial": "15ad7491d36bd43d", "x": 220, "y": 100, "wires": [ [ "222a8e8215c110c6" ] ] }, { "id": "222a8e8215c110c6", "type": "function", "z": "c241f527b52bd10a", "name": "function 4", "func": "//@superflip - 2025-03-25\n\nif (msg.payload && Buffer.isBuffer(msg.payload) && msg.payload.length > 0) {\n //read Buffer and write to local variable\n let buffer = msg.payload;\n let cpm = buffer.readUInt8(0);\n\n // check, if counter already exists\n if (!context.counterCPM) {\n context.counterCPM = 0; // Initialisiere den Zähler\n //first buffer is sometimes set to 128\n if (cpm == 128) {\n cpm=0;\n }\n }\n\n // calculate time since last reset\n let currentTime = new Date().getTime();\n if (!context.lastResetTime) {\n context.lastResetTime = currentTime;\n }\n\n //add new value to counter\n context.counterCPM += cpm;\n\n // if 60s are over\n if (currentTime - context.lastResetTime >= 60000) {\n // write msg.payload.total for further processing\n msg.payload = { total: context.counterCPM};\n // reset counter\n context.counterCPM = 0;\n context.lastResetTime = currentTime;\n }\n\n} \n\nreturn msg;\n", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 400, "y": 100, "wires": [ [ "72e83dc1246866b4" ] ] }, { "id": "72e83dc1246866b4", "type": "switch", "z": "c241f527b52bd10a", "name": "", "property": "payload.total", "propertyType": "msg", "rules": [ { "t": "nnull" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 550, "y": 100, "wires": [ [ "755b9544f295d10a" ] ] }, { "id": "427bfe4a2025d94e", "type": "ioBroker out", "z": "c241f527b52bd10a", "name": "CPM schreiben", "topic": "0_userdata.0.test.radioactivity", "ack": "true", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 940, "y": 100, "wires": [] }, { "id": "755b9544f295d10a", "type": "change", "z": "c241f527b52bd10a", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "payload.total", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 730, "y": 100, "wires": [ [ "427bfe4a2025d94e" ] ] }, { "id": "15ad7491d36bd43d", "type": "serial-port", "name": "", "serialport": "/dev/ttyUSB0", "serialbaud": "115200", "databits": "8", "parity": "none", "stopbits": "1", "waitfor": "", "dtr": "none", "rts": "none", "cts": "none", "dsr": "none", "newline": "0x80", "bin": "bin", "out": "char", "addchar": "", "responsetimeout": "10000" } ]
  • Datenpunkt ( Schalter ) nur eine Sekunde Auf True.

    13
    1
    0 Votes
    13 Posts
    735 Views
    B
    @paul53 OK es klappt. Ich war im IO Brocker trotz speichern 3 Programierschritte zurück. Gestern Abend hatte ich auch etwas gespeichert was heute weg war. Kennt Ihr das Phänomen ? Auf jeden Fall danke Euch Vielmals !!!!!!
  • Blockly für Einspeisung

    12
    1
    0 Votes
    12 Posts
    1k Views
    CodierknechtC
    @premo Wo ist dabei das Problem? [image: 1748862773495-2bf8ffa8-c92c-42c9-a9ba-7ee83cea0676-image.png] Hast Du Min- oder Maxwerte im State konfiguriert?
  • JScript nach Blockly

    7
    0 Votes
    7 Posts
    584 Views
    D
    @paul53 Danke, so klappt es.
  • HTML Email verschicken per Blockly

    3
    0 Votes
    3 Posts
    309 Views
    D
    @mcu said in HTML Email verschicken per Blockly: /opt/iobroker/iobroker-data/files/0_userdata.0 Top. Danke.

521

Online

32.9k

Users

83.0k

Topics

1.3m

Posts