Weiter zum Inhalt

Blockly

6.6k Themen 79.8k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Blockly URL Aufruf klappt nicht

    8
    0 Stimmen
    8 Beiträge
    216 Aufrufe
    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 Stimmen
    5 Beiträge
    441 Aufrufe
    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 Stimmen
    9 Beiträge
    977 Aufrufe
    aXCellA
    @steinii Leider Nein. Sorry
  • [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
    664 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
    130 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
    705 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
    1k 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
    208 Aufrufe
    Niemand hat geantwortet
  • Zustände abspeichern PAUSE ändern PAUSE wieder zurücksetzen

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

    18
    0 Stimmen
    18 Beiträge
    581 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
    1k 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
    706 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
    520 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
    365 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
    97 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]

554

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge