Weiter zum Inhalt

Blockly

6.6k Themen 79.8k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Gesamtlaufzeit trotz Unterbrechung berechnen

    6
    4
    0 Stimmen
    6 Beiträge
    259 Aufrufe
    HomoranH
    @paul53 So! heute morgen war es soweit! Die geschriebenen Werte beider Skripte passen [image: 1725346715220-screenshot_20240903-082728_firefox.jpg] Die Meldungen im log jedoch nicht wirklich. [image: 1725346806372-screenshot_20240903-082826_firefox.jpg] War aber mein Fehler in meinem Skript [image: 1725346797709-screenshot_20240903-083427_firefox.jpg] Habe ich den counter genullt bevor ich ihn ausgelesen hatte und in deinem Skript [image: 1725346893610-screenshot_20240903-083829_firefox.jpg] habe ich beide debug-Ausgaben falsch gehabt Statt Startzeit war die Sperrvariable, und die Formatierung der Dauer war anscheinend unnötig. hier noch der zugehörige Chart [image: 1725347100909-screenshot_20240903-090420_firefox.jpg]
  • In regelmäßigen Abständen type eines DP ändern

    32
    1
    0 Stimmen
    32 Beiträge
    3k Aufrufe
    D
    @peterfido danke ... hab gestern das Script mal getestet und den mqtt Adapter neugestartet... und das Script hat den DP sofort in String gewandelt
  • JS-Funktion für influxDB2 ohne "await wait(xxxx)" möglich?

    3
    1
    0 Stimmen
    3 Beiträge
    500 Aufrufe
    S
    so, nächstes Problem. Das Script funktioniert, jedoch stürzt der Javascript Adapter bei Fehlern ab. Ich wollte es nun in ein try / catch verpacken. Der Adapter stürzt jetzt zwar nicht mehr ab, aber der Fehler wird bei catch nicht sauber in der Konsole ausgegeben. Wo liegt mein Fehler? try { return new Promise((resolve, reject) => { let Ergebnis = 0 let settings = [ 'import "timezone"', 'import "date"', 'option location = timezone.location(name: "Europe/Berlin")', 'from(bucket: "'+Bucket+'")', '|> range(start: -'+Start+')', '|> filter(fn: (r) => r["_measurement"] == "'+Datenpunkt+'")', '|> filter(fn: (r) => r["_field"] == "value")', '|> aggregateWindow(every: '+Aggregation+', fn: '+fn+', createEmpty: false) ', ].join(''); sendTo('influxdb.0', 'query', settings, function (query) { Ergebnis = query.result[0].map(elm => ({ t: (elm.ts !== null && elm.ts !== undefined) ? elm.ts : null, y: (elm._value !== null && elm._value !== undefined) ? elm._value : null })) resolve(Ergebnis) }) }) } catch (error) { console.warn(error) }
  • [gel.]Blockly: E-Mail-Anhang Dateiname änd. v. Anhängen

    14
    1
    0 Stimmen
    14 Beiträge
    304 Aufrufe
    BananaJoeB
    @martinp sagte in [gel.]Blockly: E-Mail-Anhang Dateiname änd. v. Anhängen: @haus-automatisierung Dann wird es aber sicherlich Zeit, mit der Aufgabe von Blockly nach Javascript zu wechseln ;-) nichts gegen Blockly, ich liebe es für die schnelle Nummer zwischendurch. Bei Bedarf kann man ja umwandeln. Bei importierten Zertifikat ginge es ja direkt in Blockly. Aber, Vorsicht Falle! Blos weil man ein Zertifikat importiert, bedeutet es nicht das man diesem vertraut. Denn im Zertifikat müsste dann ein passender DNS-Name stehen und der Aufruf müsste über den Namen erfolgen. Über IP im Zertifikat und Aufruf geht es meist auch (auch wenn das nicht richtig ist). Das Zertifikat auf meinen Reolinks nutzt gar nichts: [image: 1725207121532-833a8304-72f2-4678-b89e-cb95dd907138-image.png] Neuere haben da angeblich einen Menüpunkt für das Hochladen eines eigenen?
  • Blockly -> Logo (S7) Ansteuerung

    8
    5
    0 Stimmen
    8 Beiträge
    609 Aufrufe
    P
    @mika-0 Müsstest Du ausprobieren. Ich habe nur noch eine Logo!8 in Betrieb, welche für Tests nicht zur Verfügung steht. Allerdings macht die keine Probleme, sodass ich hier von einem Software-Problem ausgehe. [Die restlichen Aufgaben übernehmen mehrere Eaton Easy E4. Da gibt es die Software Updates ohne Siemens-Konto, welches auch noch zwischenzeitlich aktuell gehalten möchte, und es gibt recht einfach zu nutzende Nodes für Node-Red. Die Möglichkeit der Programmierung per Strukturietem Text finde ich für spezielle Fälle flexibler. Dass es die Easy-Soft nur für Windows unter Intel/AMD gibt, könnte für den ein oder anderen Anwender ein Ausschlusskriterium sein.] Zum Thema: Ich würde generell einen Merker nutzen, welcher den Status der Kommunikation widerspiegelt. Also etwa alle 10 Sekunden ein Bit invertieren, welches auf einem anderen Datenpunkt wieder zurückkommt. (Watchdog) Ob der Watchdog Logo!-seitig, oder ioBroker-seitig initiiert wird, ist egal. Der muss auf der Gegenseite nur ein Timeout zurücksetzen und dann zurückgeschickt werden. Diesen Merker dann bei "kritischen" Pfaden in der Logo!-Soft mit einbinden. ioBroker-seitig kann dieser für eine Warnung per Telegramm und Co. genutzt werden. Wenn der Heizstab auch schon bei "false" getriggert wird, dann reagiert Dein Programm irgendwo nicht nur auf die steigende Flanke. Blockly nutze ich nicht. Evtl. hilft es, den damit generierten Javascript-Code noch zu posten. Generell nutze ich verschiedene Merker / Datenpunkte für Soll und Ist. So bekommt man schnell mit, wenn die Kommunikation unterbrochen ist, und man sieht in einer Visualisierung den Ist-Zustand.
  • Zählen wenn Strom fließt

    11
    3
    0 Stimmen
    11 Beiträge
    972 Aufrufe
    Ben1983B
    @gaggerler OK. Also wenn Du "nur" die Zeit messen willst, dann musst du dort nur einen true bzw. false befehl absetzen und der spuckt dir zie zeit, den mittelwert de aktivierungen aus usw. aber ok.
  • [gelöst] Variable in einem "IDs vom Selektor"

    11
    4
    0 Stimmen
    11 Beiträge
    775 Aufrufe
    haus-automatisierungH
    @j_paul Ja, könnte man natürlich machen
  • Fehler im Blockly mit Hochzählung?

    3
    1
    0 Stimmen
    3 Beiträge
    234 Aufrufe
    DJMarc75D
    @firechumper sagte in Fehler im Blockly mit Hochzählung?: Hat sich erledigt... kann gelöscht werden Dies ist eine Community und wenn es sich erledigt hat dann bitte für andere Suchende die Lösung posten !!!
  • zählen i von 6 bis 1 geht nicht - gelöst!

    11
    1
    0 Stimmen
    11 Beiträge
    929 Aufrufe
    AsgothianA
    @wagner sagte in zählen i von 6 bis 1 geht nicht - gelöst!: @paul53 mit Pause gehts Mit pause geht es. Schlecht ist es trotzdem. Besser so: [image: 1725024841367-screenshot-2024-08-30-at-15.33.55.png] Diese Anordnung von Blöcken kannst du in einen Trigger einbauen und musst dich nicht darum kümmern was passiert wenn der innerhalb von weniger als 18 Sekunden 2 mal aufgerufen wird. A. p.s. da ich dein Objekt LichtAn nicht hab habe ich da einfach ein wahr stehen lassen - die Transferleistung das anzupassen traue ich aber jedem zu.
  • Wert "zu einem bestimmten Zeitpunkt" aus influxdb auslesen

    4
    1
    0 Stimmen
    4 Beiträge
    500 Aufrufe
    M
    @paul53 Vielen Dank nochmal für Deine Hilfe. Ich mußte in Deinem Beispiel nur noch die Start- und End-Zeit vertauschen, jetzt funktioniert es perfekt: [image: 1724941461893-7ece776d-88b8-4ed2-870f-ee5f913aeb6a-image.png]
  • Werte aus JSON übernehmen

    12
    2
    0 Stimmen
    12 Beiträge
    860 Aufrufe
    haus-automatisierungH
    @homoran sagte in Werte aus JSON übernehmen: du hast ja immer noch die Konvertierung in Objekt! Das ist auch nicht falsch. Die Funktion getAttr wandelt ja nur selbst in ein Objekt, wenn man einen String reinreicht. Genauso kann man auch ein Objekt reingeben. Das ist insbesondere sinnvoll, wenn man mehrere Attribute haben möchte, da dann die Konvertierung in ein Objekt nur 1x gemacht werden muss.
  • Warum immer 2 Telegramm Meldungen

    19
    1
    0 Stimmen
    19 Beiträge
    1k Aufrufe
    A
    eigentlich schon. Wie gesagt lief nen halbes jahr problemfrei und dann plötzlich hats immer nach 5-10s sofort die Pumpe ausgeschaltet. Habe daher das einfachere Programm vom Anfang des posts zu Testzwecken laufen und das funktioniert 1a
  • Harmony Bose Lautstärke steuern?

    blockly javascript
    9
    1
    0 Stimmen
    9 Beiträge
    643 Aufrufe
    paul53P
    @biker1602 sagte: "harmony.0.Wohnzimmer.activities.currentActivity" ob Fernsehen oder TV Box ausgewählt ist. Ja, in einem weiteren Trigger (Skript) wird je nach Aktivität die Soll-Laustärke gesetzt.
  • [gelöst] Kleine Lichtsteuerung mit Bewegungsmelder

    33
    1
    0 Stimmen
    33 Beiträge
    1k Aufrufe
    DJMarc75D
    @aphofis nochmal: @mickym sagte in [gelöst] Kleine Lichtsteuerung mit Bewegungsmelder: @aphofis du befindest dich wieder im falschen thread. Hier ist Blockly-Land..
  • frage (help) Datenpunkt mit 0 stelle

    8
    0 Stimmen
    8 Beiträge
    540 Aufrufe
    D4vED
    @codierknecht Guten Tag Danke für die Antwort ja er hat mir da sehr geholfen ich nutze das Iobroker System schon sehr lange aber mit solchen Sachen hatte ich mich noch nie auseinander gesetzt :) aber man will ja immer mehr haben (machen) bin froh das es so ein Forum gibt wo einen schnell geholfen wird <3
  • [gelöst] Auslösung durch "falls objekt" erfolgt nicht

    6
    2
    0 Stimmen
    6 Beiträge
    473 Aufrufe
    M
    @codierknecht said in Auslösung durch "falls objekt" erfolgt nicht: Du kriegst das nur n Danke das wars... sag ja blind
  • Wert aus Webseite auslesen

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    HomoranH
    @orpheus1977 sagte in Wert aus Webseite auslesen: wie das geht mit MQTT push das müsstest du im ESP programmieren.
  • Problem mit Blockly Script Überwachung Batteriestatus

    12
    1
    0 Stimmen
    12 Beiträge
    668 Aufrufe
    paul53P
    @orpheus1977 sagte: wie bekomme ich mehrere Objekt IDs an diesen Baustein? Blaues Zahnrad links oben. [image: 1724778568044-blockly_temp.jpg]
  • Brauchwasser erhitzen für Arme (mit Batterie)

    Verschoben
    23
    1
    0 Stimmen
    23 Beiträge
    3k Aufrufe
    Stefan FaltS
    @homoran Bei mir enteist nur die Sonne und der Wind. Wenn wir keinen Strom vom Dach mehr haben, sind die Nachbarn ja schon fleissig am Atomkraftwerke bauen .... <Selbstzensur> Das ist so, als wenn man zum sch****en zum Nachbarn geht, damit es im eigenen Haus nicht stinkt.
  • JSON in Blockly verarbeiten und Namen von Ordnern übernehmen

    13
    1
    0 Stimmen
    13 Beiträge
    971 Aufrufe
    HomoranH
    @hausbaer sagte in JSON in Blockly verarbeiten und Namen von Ordnern übernehmen: Du meinst die Schaltfläche "Expertenmodus umschalten" im tab objects? nein! Expertenmodus einschalten im ID Selector Wenn du den Block anklickst, geht die ID-Selector Box auf, in der du den Datenpunkt auswählen kannst. Dort den Expertenmodus aktivieren!

592

Online

32.8k

Benutzer

82.8k

Themen

1.3m

Beiträge