Skip to content

Blockly

6.6k Topics 79.8k Posts

Hilfe für Skripterstellung mit Blockly

NEWS

  • Blockly URL Aufruf klappt nicht

    8
    0 Votes
    8 Posts
    216 Views
    hotspot_2H
    Dieser URL Auruf zeigt das an was ich gerne sehen würde: http://192.168.3.204/control?cmd=lcd,2,1,%22Oben%20%20%2021%2E2%20%DFC%22 Der Tipp mit den Sonderzeichen war sehr hilfreich! Jetzt müsste ich eben noch die Umrechung des Wertes so gestalten das wenn ein Punkt vorhanden ist, der Punkt dann durch %2E ersetzten.
  • Uhrzeitvergleich mit Sonnenuntergang funktioniert nicht.

    blockly
    5
    1
    0 Votes
    5 Posts
    441 Views
    oberfraggerO
    @homoran @Codierknecht Danke für die schnelle Hilfe. Auf die Idee mit der Formatierung SS:mm war ich auch gekommen.. dachte aber das geht nciht. Werds mal testen. Hab parallel aber eine "andere" Lösung gefunden. [image: 1671838839073-66ef17cc-17c8-484a-ac8d-2dc5ffe93bb2-image.png] Ich hatte mich an eine Anleitung gehalten, in der mit der aktuellen zeit gerechnet wird... https://www.smarthome-tricks.de/software-iobroker/blockly-datum-und-uhrzeit/#:~:text=Aktuelle Uhrzeit vergleichen&text=Bodenfeuchtigkeit.,in das ioBroker Log geschrieben. [image: 1671838880638-5ade8e58-8b98-4700-a388-380d18d46156-image.png] Da habe ich vermutlich was falsch verstanden. Aber Danke für eure Hilfe. Dann kann ich endlich vernünftig die Lampen aus und anschalten...
  • [gelöst] Wechsel des Button Type - Shelly - Skript

    9
    1
    0 Votes
    9 Posts
    977 Views
    aXCellA
    @steinii Leider Nein. Sorry
  • [gelöst]Anleitung Cron Blockly gesucht

    8
    1
    0 Votes
    8 Posts
    2k Views
    K
    @georgs auch wenn das Thema schon alt ist.. die Lösung ist das Format des Datums. Es braucht folgende Auflösung: YYYY.MM.DD HH:MM:ss [image: 1671786832953-8efecc1e-fa86-474a-bbb9-626f84fd2c46-grafik.png]
  • Blockly für VerbrauchsZähler?

    9
    1
    0 Votes
    9 Posts
    664 Views
    D
    @asgothian Kann ich nachvollziehen und verstehn. Habe aber nicht das Fachwissen nur Nutzerempfinden und möchte darum dort kein Öl ins Feuer gießen.... Nur Eines, dass ich manchmal eben den Eindruck habe, dass ich mit der Updaterrei eine neue Beschäftigungsmaßnahme gefunden habe, wo ich doch eher was Richtung Automatisierungslösung haben wollte. Anfangs hatte ich auch noch das Repository auf Latest stehen und dass hab ich nun nur zum Vorteil schon länger geändert und bin zufriedener damit. Aber auch bei der "Updaterrei" gibt es zwei Seiten, eine die treibt und eine die sich treiben lässt..... Letzter Satz zum Off-Topic. Den Nutzer den ich dbzgl. meine möchte ich aber zu Gute halten, dass er mir schon mehrfach mit Störungen kräftigst aus der Patsche geholfen hat Nu denn, das Blockly überzeugt und morgen wird am Brenner "gebastelt" und der Zähler in Betrieb genommen :)
  • Log für Alarmanlage mit Datenpunkt

    4
    1
    0 Votes
    4 Posts
    130 Views
    paul53P
    @phantom-0 sagte: Ja. Als String? Dann ändere die Prüfung: [image: 1671724350563-bild_2022-12-22_165229855.png]
  • Aktion innerhalb eines Zeitraumes nur 1x ausführen [gelöst]

    21
    1
    0 Votes
    21 Posts
    709 Views
    paul53P
    @devdracon sagte: "nicht zwischen" geprüft um den Tageswechsel zu vermeiden? Nein, das betrifft nur Astro-Zeiten.
  • Simulierter Sonnenuntergang im Hühnerstall

    18
    1
    0 Votes
    18 Posts
    1k Views
    Meister MopperM
    @kaiser-franz-josef So hat es mehr verve: [image: 1671642309812-c8c14308-3ab6-477a-aaba-e94f9635c7f6-grafik.png]
  • 1 Votes
    27 Posts
    3k Views
    David G.D
    @bambi-arch Hey, schau mal in meine Signatur. Bei den Tabellen ist es bei.
  • sudo mit Blockly - Berechtigungsproblem

    1
    0 Votes
    1 Posts
    208 Views
    No one has replied
  • Zustände abspeichern PAUSE ändern PAUSE wieder zurücksetzen

    3
    0 Votes
    3 Posts
    120 Views
    liv-in-skyL
    @dave83 evtl helfen enums/aufzählungen/function bei dieser sache - also eine aufzählung aller lichter, die blinken sollen - dann kannst du das, was @bahnuhr geschrieben hat, mit einer schleife ausführen - hilfreich dafür wäre, wenn alle lampen die selben datenpunkte haben würden
  • Kann man Blockly mit Git Versionskontrolle nutzen?

    blockly javascript
    7
    0 Votes
    7 Posts
    551 Views
    CodierknechtC
    @thomas-braun Kann man - Danke für den Schubs
  • Zähleränderungen pro Tag berechnen?

    18
    0 Votes
    18 Posts
    582 Views
    P
    Hi Leute, darf ich mich hier mal anschließen? Meine Umsetzung hilft vielleicht auch dem TE. Sie ist leider noch nicht perfekt, dazu am Ende mehr. Sie ist für Gas, kann aber neben dem Verbrauch auch gleich die Kosten mitberechnen und lässt sich einfach auf Strom anpassen. Ich lese mit Aqara die Gaszählerimpulse und habe einen DP Gaszählerstand, der auch zuverlässig in Schritten von 0,1m³ aktualsisiert wird. So weit so gut. Mit dem Blockly zur Verbrauchsberechnung hängt es aber noch ein wenig und ich weiß nicht, warum. Folgende User-Datenpunkte gibt es... Präfixe: h_ / d_ / w_ als Präfix für Stunde, Tag und Woche zu jedem Präfix dann die Werte: VerbrauchVolumen, VerbrauchEnergie, VerbrauchKosten, letzterZählerstand und die allgemeinen DP: Gaszählerstand, aktErdgasArbeitspreis, aktErdgasBrennwert, aktErdgasZustandszahl Das Blockly läuft stündlich und aktualisiert die Stundenwerte, prüft ob Mitternach ist und aktualisiert die Tageswerte, prüft dabei ob Montag ist und aktualisiert die Wochenwerte. Hier das Blockly als Quellcode: schedule("0 * * * *", async function () { // Aufruf stündlich, immer vorherige Stunde berechnen setState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchVolumen"/*h_VerbrauchVolumen*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Gaszählerstand").val) - getState("0_userdata.0.Gaszähler.Stunde.h_letzter_Zählerstand").val)*10)/10, true); setState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchEnergie"/*h_VerbrauchEnergie*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchVolumen").val) * parseFloat(getState("0_userdata.0.Gaszähler.aktErdgasZustandszahl").val) * getState("0_userdata.0.Gaszähler.aktErdgasBrennwert").val)*100)/100, true); setState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchKosten"/*h_VerbrauchKosten*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Stunde.h_VerbrauchEnergie").val) * getState("0_userdata.0.Gaszähler.aktErdgasArbeitspreis").val)*100)/100, true); setState("0_userdata.0.Gaszähler.Stunde.h_letzter_Zählerstand"/*h_letzter Zählerstand*/, getState("0_userdata.0.Gaszähler.Gaszählerstand").val, true); // Wenn Stunde gleich 0 dann Vortag berechnen if ((new Date().getHours()) == 0) { setState("0_userdata.0.Gaszähler.Tag.d_VerbrauchVolumen"/*d_VerbrauchVolumen*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Gaszählerstand").val) - getState("0_userdata.0.Gaszähler.Tag.d_letzterZählerstand").val)*10)/10, true); setState("0_userdata.0.Gaszähler.Tag.d_VerbrauchEnergie"/*d_VerbrauchEnergie*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Tag.d_VerbrauchVolumen").val) * parseFloat(getState("0_userdata.0.Gaszähler.aktErdgasZustandszahl").val) * getState("0_userdata.0.Gaszähler.aktErdgasBrennwert").val)*100)/100, true); setState("0_userdata.0.Gaszähler.Tag.d_VerbrauchKosten"/*d_VerbrauchKosten*/, Math.round((parseFloat((parseFloat(getState("0_userdata.0.Gaszähler.Tag.d_VerbrauchEnergie").val) * getState("0_userdata.0.Gaszähler.aktErdgasArbeitspreis").val)) / 100)*100)/100, true); setState("0_userdata.0.Gaszähler.Tag.d_letzterZählerstand"/*d_letzterZählerstand*/, getState("0_userdata.0.Gaszähler.Gaszählerstand").val, true); // Wenn Wochentag gleich 1 (Montag) dann Vorwoche berechnen if ((new Date().getDay() === 0 ? 7 : new Date().getDay()) == 1) { setState("0_userdata.0.Gaszähler.Woche.w_VerbrauchVolumen"/*w_VerbrauchVolumen*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Gaszählerstand").val) - getState("0_userdata.0.Gaszähler.Woche.w_letzterZählerstand").val)*10)/10, true); setState("0_userdata.0.Gaszähler.Woche.w_VerbrauchEnergie"/*w_VerbrauchEnergie*/, Math.round((parseFloat(getState("0_userdata.0.Gaszähler.Woche.w_VerbrauchVolumen").val) * parseFloat(getState("0_userdata.0.Gaszähler.aktErdgasZustandszahl").val) * getState("0_userdata.0.Gaszähler.aktErdgasBrennwert").val)*100)/100, true); setState("0_userdata.0.Gaszähler.Woche.w_VerbrauchKosten"/*w_VerbrauchKosten*/, Math.round((parseFloat((parseFloat(getState("0_userdata.0.Gaszähler.Woche.w_VerbrauchEnergie").val) * getState("0_userdata.0.Gaszähler.aktErdgasArbeitspreis").val)) / 100)*100)/100, true); setState("0_userdata.0.Gaszähler.Woche.w_letzterZählerstand"/*w_letzterZählerstand*/, getState("0_userdata.0.Gaszähler.Gaszählerstand").val, true); } } }); und hier in der Grafik: [image: 1671544257860-38bf1f3f-52b6-44f6-82da-cfa385f9121f-image.png] In den allermeisten Fällen läuft es zuverlässig jede Stunde und aktualisiert alle Werte die zu dem jeweiligen Zeitpunkt fällig sind. Manchmal jedoch wird je Sektion nur der letzte Punkt ausgeführt, also nur der letzte Zählerstand von Stunde, Tag oder Woche mit dem aktuellen Zählerstand aktualisiert. Die Berechnungen werden in den seltenen Fällen nicht ausgeführt oder nicht geschrieben. Hat jemand eine Idee, warum das manchmal passieren könnte? Oder was ich zum Debuggen unternehmen kann? In der Console unter dem Script erscheinen keine Fehler, im Protokoll auch nicht. Da bin ich ein wenig ratlos. Viele Grüße, Peter
  • Blockly täglichen Verbrauch hochzählen

    16
    1
    0 Votes
    16 Posts
    1k Views
    paul53P
    @fritzk sagte: Der Verbrauch aktuell sollte ja dann auch um 23:58 Uhr auf null zurückgestellt werden ? Das kann man machen. Beim nächsten Zählimpuls fängt er ohnehin mit dem Wert einer Impulseinheit an.
  • Einfaches Rollanden zu Script zu Uhrzeit X

    14
    1
    0 Votes
    14 Posts
    706 Views
    F
    @nordischerjung ah ok, dann kommt javascript.0 2022-12-20 10:56:07.507 info script.js.Aktiv.automatik.Rolladen1: 30 javascript.0 2022-12-20 10:56:07.506 info script.js.Aktiv.automatik.Rolladen1: 7
  • Optimierung von Blockly Scripts

    13
    2
    0 Votes
    13 Posts
    1k Views
    M
    @Codierknecht funktioniert tadellos. bei weiteren fragen - und die werden kommen - melde ich mich.
  • Schaltung bei Nacht

    6
    1
    0 Votes
    6 Posts
    520 Views
    Dominik F.D
    @oberfragger Solange der Bewegungsmelder Bewegung registriert, bleibt das Licht an. Wird innerhalb von 5 Sekunden keine weitere Bewegung registriert, geht das Licht aus. Ich hab die Zeit so kurz gewählt um nicht unnötig das Licht vor der Haustür anzulassen. Edit: zur besseren Erklärung....Mein Bewegungsmelder hält den Datenpunkt für Bewegung für mindestens 15 Sekunden auf true, bei jeder Bewegungserkennung starten diese 15 Sekunden aufs neue. Das Licht bleibt also mindestens 20 Sekunden lang an Da hast du recht, dass ich das entschlanken könnte. Ich befinde mich allerdings noch recht am Anfang von Blockly und habe das bewusst gelassen um, wenn ich mal längere Zeit nichts mit Blockly mache, noch weiß was da passiert :D
  • Switch-Status wird nicht korrekt übermittelt

    Moved Unsolved
    16
    1
    0 Votes
    16 Posts
    365 Views
    CodierknechtC
    @cranixx Geräte ohne eigenen Adapter bekommt man über diesen Weg nach ioBroker und von dort aus nach Homekit: 1.) Gerät in HomeKit einbinden 2.) Gerät wieder aus HomekKit entfernen 3.) Geräte über den "Homekit-Controller" in ioBroker einbinden 4.) Gerät über Yahka wieder nach Homekit bringen Ist zumindest insofern weniger verbastelt, als dass es hier keine zusätzliche Homebridge braucht und alles im ioB bleibt. Ist trotzdem etwas "von hinten durch die Brust ins Auge" - aber wenn's eben keinen Adapter gibt die etwas ressourcensparendere Lösung.
  • Ausführen in - variable Zeit

    2
    0 Votes
    2 Posts
    97 Views
    hotspot_2H
    @hotspot_2 Sorry, hab's schon gefunden bzw. seither übersehen. Gibt ja noch einen anderen Blockly Befehl von "Ausführen in".
  • http json request in neue Datenpunkte

    12
    3
    0 Votes
    12 Posts
    1k Views
    S
    ich stehe gerade auf'm schlauch wenn die Verbindung wieder hergestellt wurde ... der Ping also wahr ist ... passiert das [image: 1671463105176-error.jpg] [image: 1671463165186-error1.jpg]

568

Online

32.8k

Users

82.8k

Topics

1.3m

Posts