Weiter zum Inhalt

Blockly

6.6k Themen 80.3k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • [gelöst]Anleitung Cron Blockly gesucht

    8
    1
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    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 Stimmen
    9 Beiträge
    774 Aufrufe
    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 Stimmen
    4 Beiträge
    156 Aufrufe
    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 Stimmen
    21 Beiträge
    884 Aufrufe
    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 Stimmen
    18 Beiträge
    2k Aufrufe
    Meister MopperM
    @kaiser-franz-josef So hat es mehr verve: [image: 1671642309812-c8c14308-3ab6-477a-aaba-e94f9635c7f6-grafik.png]
  • VORLAGE: Batterieüberwachung HomematicIP mit Blockly

    javascript template blockly
    27
    2
    1 Stimmen
    27 Beiträge
    3k Aufrufe
    David G.D
    @bambi-arch Hey, schau mal in meine Signatur. Bei den Tabellen ist es bei.
  • sudo mit Blockly - Berechtigungsproblem

    1
    0 Stimmen
    1 Beiträge
    233 Aufrufe
    Niemand hat geantwortet
  • Zustände abspeichern PAUSE ändern PAUSE wieder zurücksetzen

    3
    0 Stimmen
    3 Beiträge
    140 Aufrufe
    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 Stimmen
    7 Beiträge
    636 Aufrufe
    CodierknechtC
    @thomas-braun Kann man - Danke für den Schubs
  • Zähleränderungen pro Tag berechnen?

    18
    0 Stimmen
    18 Beiträge
    666 Aufrufe
    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 Stimmen
    16 Beiträge
    2k Aufrufe
    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 Stimmen
    14 Beiträge
    883 Aufrufe
    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 Stimmen
    13 Beiträge
    1k Aufrufe
    M
    @Codierknecht funktioniert tadellos. bei weiteren fragen - und die werden kommen - melde ich mich.
  • Schaltung bei Nacht

    6
    1
    0 Stimmen
    6 Beiträge
    623 Aufrufe
    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

    Verschoben Ungelöst
    16
    1
    0 Stimmen
    16 Beiträge
    446 Aufrufe
    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 Stimmen
    2 Beiträge
    112 Aufrufe
    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 Stimmen
    12 Beiträge
    1k Aufrufe
    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]
  • [gelöst] JSON - Werte von arrays ändern ?

    15
    0 Stimmen
    15 Beiträge
    430 Aufrufe
    DJMarc75D
    @mickym check und passt [image: 1671460404568-screenshot-2022-12-19-153244.png]
  • Frage zu "Ausführen interval"

    4
    1
    0 Stimmen
    4 Beiträge
    520 Aufrufe
    CodierknechtC
    @uwet Asynchrone Denkfalle Du darfst die in Blockly dargestellt Abfolge nicht als "Ablauffolge" eines Programms verstehen. In ioBroker läuft (fast) alles asynchron. Sobald hier die "zyklische Ausführung" eingerichtet wurde, geht's weiter und der Debug-Baustein mit "ende2" wird ausgeführt. Erst 100 ms später wird zum ersten Mal der Code innerhalb der zyklischen Ausführung durchlaufen.
  • solved: 3x Ausführung im Log - schaltet aber gar nicht

    74
    1
    0 Stimmen
    74 Beiträge
    7k Aufrufe
    HomoranH
    @ch90045 sagte in 3x Ausführung im Log - schaltet aber gar nicht: den Nutzer iobroker gibt es nunmal hier nicht dann läuft bei dir auch kein iobroker. Dieser Nutzer wird intern bei der Installation von iobroker angelegt.

547

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge