Weiter zum Inhalt

Blockly

6.6k Themen 80.3k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Hilfe zur Fehlermeldung bei Influxdb Query

    blockly
    1
    1
    0 Stimmen
    1 Beiträge
    78 Aufrufe
    Niemand hat geantwortet
  • Umrechnung Unix-Timestamp

    7
    3
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    MichaelFM
    @djmarc75 Ich hab es, so funktioiert es : [image: 1679504886221-182e76a4-9431-4d3e-a667-0d4f5f960f68-image.png] Die x 1000 von @Homoran waren die Lösung. Danke
  • History Adapter Aufruf liefert kein vernünftiges Result

    4
    2
    0 Stimmen
    4 Beiträge
    561 Aufrufe
    C
    @paul53 boom, es funktioniert. Vielen Dank Paul für den entscheidenden Hinweis. Für andere Suchende nochmal der korrekte Screenshot mit Hinweisen, wie man dann an den Durchschnitt (hie der letzten 10 Sekunden) kommt. Wichtig: Man muss bei den Ergebnissen immer den ersten Wert ignorieren. Warum auch immer der mit ausgegeben wird, er markiert der Doku folgend nur die Grenze des untersuchten Intervalls. Mit result[1] greift man sich (kontraintuitiv) das zweite Item in Result und mit .val den Wert. [image: 1679432975231-1a2f6270-0d99-42c7-8237-b1b27a6a75f2-grafik.png]
  • Bei Wertänderung, den aktuellen Wert über Telegram senden

    2
    0 Stimmen
    2 Beiträge
    218 Aufrufe
    paul53P
    @zimbl sagte: Wertänderung beobachte und diesen Wert dann per Telegram versende? Beispiel: [image: 1679415703328-blockly_temp.jpg]
  • Lampe steuern, je nach PV Überschuss

    10
    1
    0 Stimmen
    10 Beiträge
    933 Aufrufe
    CodierknechtC
    @wusa Aber auch das muss man nur 1x machen. Nutze die Macht der Variablen!
  • Solved: Blockly Script für erweiterten Zeitplan

    5
    0 Stimmen
    5 Beiträge
    463 Aufrufe
    crepp1967C
    @paul53 Vielen Dank für Deinen Denkanstoss - es klappt jetzt. Ich bin mit der Cronfunktion noch nicht so vertraut, aber ich habe wieder was dazugelernt... Gruß Torsten
  • Datenpunkt als zusammengebauten Strings auslesen

    6
    1
    0 Stimmen
    6 Beiträge
    404 Aufrufe
    A
    @paul53 Besten Dank für deine Unterstützung - hat super funktioniert.
  • PV Überschussladen mit Verzögerung

    15
    1
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    C
    @paul53 sagte in PV Überschussladen mit Verzögerung: @carsten-4 sagte: das ist der Einspeisewechselrichter. Es ist kein Hybrid-Wechselrichter? genau nur zur einspeisung ins Hausnetz @carsten-4 sagte in PV Überschussladen mit Verzögerung: Ladegerät (Victron) Die Ladung / Entladung erfolgt zum/vom Netz? der Victron lädt den Akku
  • Verständnis Frage Trigger

    7
    1
    0 Stimmen
    7 Beiträge
    973 Aufrufe
    G
    @fritzk said in Verständnis Frage Trigger: Es funktioniert auch super. Ich habe mir das Blockly angeschaut. Ich kann nicht jede Fallunterscheidung nachvollziehen weil ich die Bedeutung der Felder nicht im Detail verstehe. Aber nach allem was ich hier verstehe, ändert sich nichts an meiner Aussage. Weder Batterie-Level noch Temperatur werden als primärer Trigger zum Schalten des Heizstabes verwendet. Aber wenn das Script super läuft ist doch alles gut, oder? ich hab halt nur den Zweck des Ganzen falsch verstanden.
  • Abfrage ob Adapter "gelb" oder "rot" ist

    2
    2
    0 Stimmen
    2 Beiträge
    262 Aufrufe
    HomoranH
    @oberfragger https://forum.iobroker.net/post/961060
  • Tor per Anruf öffnen läuft nur solange es klingelt.

    4
    1
    0 Stimmen
    4 Beiträge
    481 Aufrufe
    A
    @paul53 perfekt funktioniert. Danke
  • Blockly für Netzbezug Tagesverbrauch aktuell

    1
    0 Stimmen
    1 Beiträge
    205 Aufrufe
    Niemand hat geantwortet
  • In Google Kalender schreiben per API oder .ics Datei ?

    3
    0 Stimmen
    3 Beiträge
    386 Aufrufe
    A
    @dirkhe Vielen Dank. Werde ich mir bei ansehen. :)
  • E Auto Ladungen zuordnen und speichern

    2
    1
    0 Stimmen
    2 Beiträge
    277 Aufrufe
    W
    @woupi Ich habe etwas gefunden und ich glaube, so müsste es gehen: [image: 1678966537347-205fcb25-67bd-4e14-84b7-289d79cce98b-image.png] Hier noch die Datenpunkte [image: 1678969523946-31de5234-6a55-4a16-8e9a-b5f5a2821ad2-image.png] PS: Leider wurde der status in LP_aktiv nicht nach 15min von 1 auf 0 geändert. Habe ich einen Denkfehler in dem Aufbau mit dem Timeout?
  • [gelöst] Stromzähler, Wärmemengenzähler runden funktio ...

    38
    1
    0 Stimmen
    38 Beiträge
    3k Aufrufe
    W
    @homoran sagte in Stromzähler, Wärmemengenzähler runden funktioniert nicht: @woupi und hier gibt es auch noch Verbesserungspotential. für eine Uhrzeit braucht es nur einen Trigger und ob man alle 10 Sekunden triggern muss (wenn der Wert nur alle x Minuten käme) ist auch fraglich. Warum nicht auf die Werte Änderung? Das habe ich heute dann auch mal geändert. Bin zwar immer noch nicht fit, aber es geht besser.
  • Lichtsteuerung mit zwei Aqara BWM funktioniert nicht

    6
    1
    0 Stimmen
    6 Beiträge
    701 Aufrufe
    A
    @klarie sagte in Lichtsteuerung mit zwei Aqara BWM funktioniert nicht: @acem Hallo Acem, Ich verstehe nur nicht, warum ich einen Timer einbauen muss, wenn der Bewegungsmelder die Daten (Time from last motion) doch liefert. Im Grunde habe ich es ja ähnlich gelöst wie Du. 2 Trigger, 2x Wert überprüfen ("und"-Verknüpfung), dann mache (in meinem Fall "Licht aus"). Vielleicht kann mir ja noch jemand meinen Denkfehler aufzeigen. Mit Time from last motion habe ich es leider nicht hinbekommen, warum auch immer. Ich habe bei an beiden Bewegungsmeldern bei Objekte Occupancy_timeout 10 sec. [image: 1678925779748-occupancy_timeout-resized.png] So wie es jetzt ist funktioniert es bei mir, das Licht geht bei keine Bewegung nach 60 sec. Aus.
  • Blockly Menü zerschossen

    3
    1
    0 Stimmen
    3 Beiträge
    293 Aufrufe
    HeimwehH
    @homoran Danke! Stimmt ich hatte den Adapter drauf - aber seit ich ihn desinstalliert habe ist das jetzt so....
  • Ordner auf aktuellste Date prüfen

    3
    0 Stimmen
    3 Beiträge
    335 Aufrufe
    wendy2702W
    @saibot1981 sagte in Ordner auf aktuellste Date prüfen: Wurde gerne wenn eine Bewegung festgestellt wird immer so 4-5 aktuelle Bilder versenden ohne Dabei einen Festen Namen vergeben zu müssen. Wenn du das Bild eh versendest, ist es doch schon beim Empfänger gespeichert. Warum dann nochmal ? Und wenn du die Motion detection von Motioneye verwendest kannst du doch eine dieser Möglichkeiten nutzen um zu Erfahren ob es etwas neues gibt. Ich nutze z.B. diese alte Script welches mit bei Bewegungserkennung per PIR 5 Bilder per Telegram schickt. // ------------------------------------------------------------------------- // Dieses Script überwaht den Zustand eines Bewegungsmelders und speichert bei // Aktivierung ein Bild einer Überwachnungskamera in einem Vereichnis und sendet // dieses via Telegram.0-Adapter. Nach 10 Sek wird ein weiteres Bild erstellt und // gesendet. // Die Speicherung der Bilder erfolgt als "Stack", d.h. das aktuellste Bild bekommt // immer den Suffix "0" und es werden n Bilder mit den Suffixen 1..n-1 vorgehalten // Uhula 2017.11 // ------------------------------------------------------------------------- // ------------------------------------------------------------------------- // Konfiguration // ------------------------------------------------------------------------- // Objekt-ID des Bewegungsmelders const oidLichtBewmelderTuer = "hm-rpc.0.PEQ0390144.1.MOTION"; // URL zur Kamera umn ein Image (jpg) zu erhalten const cam_url = "http://xx:yy18@192.168.178.211/Streaming/channels/1/picture"; // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren const dest_path = '/opt/iobroker/iobroker-data/files/_temp/garage_klein/'; // Anzahl der Bilder, die vorgehalten werden sollen const imageCountMax = 8; // Prefix für die Bildnamen const imageNamePre = "garage_klein_"; // ------------------------------------------------------------------------- // Scriptteil // ------------------------------------------------------------------------- var request = require('request'); var fs = require('fs'); // Bild an telegram schicken function sendImage (path) { try { var stats = fs.statSync(path); var msg = formatDate(stats.birthtime,"DD.MM.YYYY hh:mm:ss") + " " + path.substring(path.lastIndexOf('/')+1); sendTo('telegram.0', { text: path, caption: msg, disable_notification: true, user: 'Mxxxo', }); sendTo('telegram.0', { text: path, caption: msg, disable_notification: true, user: 'Sxxe', }); } catch(err) { if (err.code != "ENOENT") log(err); } } // löscht eine Datei synchron (wartet auf das Ergebnis) function fsUnlinkSync(path) { try { var stats = fs.statSync(path); try { fs.unlinkSync(path); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } } // benennt eine Datei synchron um (wartet auf das Ergebnis) function fsRenameSync(oldPath, newPath) { try { var stats = fs.statSync(oldPath); try { fs.renameSync(oldPath, newPath); } catch(err) { if (err.code != "ENOENT") log(err); } } catch(err) { if (err.code != "ENOENT") log(err); } } // Bild speichern und senden function saveImage() { // Bild imageCountMax-1 löschen fsUnlinkSync( dest_path + imageNamePre + (imageCountMax-1) + ".jpg" ); // Bilder 0..imageCountMax-2 umbenennen for (var i=imageCountMax-4; i >= 0; i-- ) { fsRenameSync(dest_path + imageNamePre + i + ".jpg", dest_path + imageNamePre + (i+1) + ".jpg"); } // Bild 0 löschen var fname = imageNamePre + "0.jpg"; fsUnlinkSync( fname ); // Bild holen und speichern request.get({url: cam_url, encoding: 'binary'}, function (err, response, body) { fs.writeFile(dest_path + fname, body, 'binary', function(err) { if (err) { log('Fehler beim Bild speichern: ' + err, 'warn'); } else { // dem Filesystem 2 Sek Zeit zum Speichern lassen setTimeout(function() { sendImage(dest_path + fname); }, 2000); } }); }); } // sofort ein Bild senden und nach 3 Sek erneut //function onEvent() { // saveImage(); // setTimeout(function() { saveImage(); }, 10 * 300); //} // sofort ein Bild senden und nach 3 Sek erneut function onEvent() { saveImage(); setTimeout(function() { saveImage(); }, 3 * 1000); setTimeout(function() { saveImage(); }, 6 * 1000); setTimeout(function() { saveImage(); }, 9 * 1000); } // Ereignisroutine //on({id: oidLichtBewmelderTuer, val: true}, function (obj) { // onEvent( obj ); on({id: 'hm-rpc.0.PEQ0390144.1.MOTION', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("hm-rpc.0.PEQ0390144.1.MOTION").val === true) onEvent( obj ); }); // manuelle Ausführung (Test) onEvent();
  • Logik mit Variable funktioniert nicht

    18
    1
    0 Stimmen
    18 Beiträge
    1k Aufrufe
    paul53P
    @claus1985-0 sagte: mal für den "sonst" Teil kopiert Die Variable oben wird nirgends zurück gesetzt.
  • Gleitender Durchschnitt mit Blockly

    Verschoben blockly
    67
    0 Stimmen
    67 Beiträge
    17k Aufrufe
    B
    @paul53 said in Gleitender Durchschnitt mit Blockly: @brokeling sagte: nicht einfügen wegen dem puzzle-Haken vorne dran. Der Haken verschwindet, wenn man "entferne" selektiert. oh mann, ok danke!

220

Online

33.0k

Benutzer

83.4k

Themen

1.3m

Beiträge