Weiter zum Inhalt

Blockly

6.6k Themen 80.5k Beiträge

Hilfe für Skripterstellung mit Blockly

NEWS

  • Bei Klingeln cam Photo speichern

    Verschoben blockly
    5
    0 Stimmen
    5 Beiträge
    439 Aufrufe
    lobomauL
    @Horst-Böttcher das "Uhula-Script" geht gut. Hier auch mit motion eye Bild: // ------------------------------------------------------------------------- // 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 // ------------------------------------------------------------------------- //Edimax Detection Variable anlegen: //createState('javascript.0.Variablen.Edimax-detection2', false, //Edimax-detection für VIS-Darstellung //{type: 'boolean', name: 'Edimax-detection', min: false, max: true, read: true, write: true, role: 'javascript' }); // Objekt-ID des Bewegungsmelders const oidLichtBewmelderTuer = '0_userdata.0.Cam.tapo_C200.motion_detected_extern'/*motion detected extern*/; // URL zur Kamera umn ein Image (jpg) zu erhalten const cam_url = "http://192.168.1.25:8765/picture/2/current/"; // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren const dest_path = '/opt/iobroker/iobroker-data/files/vis.0/cams/edimax/'; // Anzahl der Bilder, die vorgehalten werden sollen const imageCountMax = 8; // Prefix für die Bildnamen const imageNamePre = "tapo_"; // ------------------------------------------------------------------------- // 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.1', { text: path, caption: msg, disable_notification: true }); } 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-2; 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 4 Sek erneut function onEvent() { saveImage(); setTimeout(function() { saveImage(); }, 4 * 1000); // setTimeout(function() { saveImage(); }, 9 * 1000); } // Ereignisroutine on({id: oidLichtBewmelderTuer, val: true}, function (obj) { onEvent( obj ); }); // manuelle Ausführung (Test) onEvent();
  • Dieses Thema wurde gelöscht!

    0
    0 Stimmen
    0 Beiträge
    24 Aufrufe
    Niemand hat geantwortet
  • Steuerung WLAN Lampe mit BWM und Alexa

    37
    0 Stimmen
    37 Beiträge
    5k Aufrufe
    S
    @paul53 Ja, geht noch nicht optimal. Ich kann gerade nicht simulieren, die Kleine schläft. Die ersten paar Male lief es wie es sollte, nun geht die Lampe nach BWM-Einschaltung nicht mehr aus. Ich werde später berichten.
  • Photovoltaik Einspeisebegrenzung messen

    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    S
    @haus-automatisierung sagte in Photovoltaik Einspeisebegrenzung messen: @semmy Alias vom Typ boolean anlegen mit val < 100 als Lese-Funktion - darauf dann Statistics aktivieren. Fertig :) Ich würde mir da irgendwelche Blockly-Scripts sparen. Warum das Rad neu erfinden? Hallo Ich habe das jetzt mal so probiert. In der Statistik werden aber nur Daten in Offday geschrieben und nicht in Onday. Viele Grüße Semmy
  • Blockly Pushover Modul zeigt nur "Alle Instanzen"

    7
    1
    0 Stimmen
    7 Beiträge
    788 Aufrufe
    GlasfaserG
    @heiner1976 sagte in Blockly Pushover Modul zeigt nur "Alle Instanzen": @glasfaser Jetzt habe ich den Browser einmal geschlossen und geöffnet Anderen Browser mal versucht , Browser refresh mal durchgeführt.
  • Fehler bei einfacher verknüpfung als Trigger

    5
    2
    0 Stimmen
    5 Beiträge
    511 Aufrufe
    lobomauL
    @mibr85 hatte oben noch ein Beispiel mit zwei Triggern hinzugefügt. Dazu das Symbol anklicken: [image: 1654849086230-e576b31c-15ab-442f-8eef-7cf4ffabc47a-image.png] Achtung... nach der Änderung des Triggers springt er darunter immer auf "wurde geändert". Ein bug oder feature. [image: 1654849179382-4e37afc5-f440-444a-8f80-cd73a7a2f05e-image.png]
  • Blockly Osram Smart Switch

    3
    2
    0 Stimmen
    3 Beiträge
    332 Aufrufe
    S
    @paul53 Vielen Danke, mir fehlte einfach der Wert unter trigger... :/ Jetzt scheint es zu klappen! Gibt es einen anderen Wert, wenn keine Taste gedrückt wurde? Nein, habe es daher wie folgt geändert (aktualisiert statt geändert) [image: 1654773057935-b594039c-a98b-4e2a-b525-443c980a56b1-image.png] Vielen Danke für die schnelle Hilfe!
  • Blockly per Tastendruck starten

    18
    0 Stimmen
    18 Beiträge
    2k Aufrufe
    David G.D
    @lucascoco Könntest du. Wenn du allerdings mit dem Geräteadapter das Rollo sauber anlegst, wird dieses automatisch unter alias.0 angelegt. Das sollte der iot dann (wenn entsprechend eingestellt) automatisch erkennen.
  • Nuki stumm schalten über vis

    1
    0 Stimmen
    1 Beiträge
    99 Aufrufe
    Niemand hat geantwortet
  • Pendelzugsteuerung mit Lichtschranke

    5
    1
    0 Stimmen
    5 Beiträge
    449 Aufrufe
    A
    Perfekt. Es hat funktioniert. Vielen Dank! :)
  • [gelöst] Fehler bei Prüfung Wert > als Zahl

    40
    2
    0 Stimmen
    40 Beiträge
    4k Aufrufe
    maeusekingM
    @glasfaser sagte in [gelöst] Fehler bei Prüfung Wert > als Zahl: x = (x>10000) ? 0:x Das ist ja richtig cool! Habe ich gleich ersetzt, nicht zusätzlich angelegt. DANKE!
  • Rollladen per Shelly 2.5 steuern *Lösung*

    10
    2
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    BananaJoeB
    @paul53 du hast Recht ... aber in meinen Programmablaufplänen aus den 80/90er kann ich das nicht vernünftig darstellen ...
  • Mehrfach und

    11
    0 Stimmen
    11 Beiträge
    1k Aufrufe
    Dr. BakteriusD
    @paul53 sagte in Mehrfach und: Soll auch nicht: Bedingung "Wert >= 23" war vorher schon erfüllt, als "vorheriger Wert" noch kleiner als 23 war. Natürlich, sorry ich habe das >= nicht gesehen (nur verkleinerte Bildansicht, da sieht es wie ein > aus).
  • Fehlersuche nach Log einträgen

    3
    2
    0 Stimmen
    3 Beiträge
    294 Aufrufe
    M
    super das hat schon mal geholfen Jetzt gibt es aber immer noch einen Fehler ich glaube der hat mit Set posuition zutun: [image: 1654627112957-1.png]
  • Blockly restore meldet IP hat eine Verbindung verweigert

    1
    1
    0 Stimmen
    1 Beiträge
    159 Aufrufe
    Niemand hat geantwortet
  • Mehrere UND Bedingungen

    5
    1
    0 Stimmen
    5 Beiträge
    458 Aufrufe
    J
    @papaechokilo ja das ist auch so wie von Paul, dann muss ich es halt so machen.. Danke euch beiden
  • Abfahrzeit in Minuten

    3
    0 Stimmen
    3 Beiträge
    373 Aufrufe
    E
    @paul53 Danke dir vielmals! :)
  • IDs vom Selektor Wert steuern

    blockly
    3
    1
    0 Stimmen
    3 Beiträge
    320 Aufrufe
    R
    @paul53 Sehr gut, vielen Dank!
  • iCal Text filtern nach Datum, für Ansage

    9
    1
    0 Stimmen
    9 Beiträge
    602 Aufrufe
    DJMarc75D
    @d3ltoroxp sagte in iCal Text filtern nach Datum, für Ansage: Ich versuche das nach Datum zu machen, nimm erste 06.06.2022 bis 07.06.2022 Neee, so wird das mit dem Skript nicht funktonieren weil es auf "Morgen" reagiert und nicht auf ein Datum. Datum ist weniger gut realisierbar.
  • Cron vs. Zeitplan

    Verschoben javascript blockly
    13
    1
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    A
    @qwerty1896 Nein, keine Neuigkeiten. Ich nutze seit damals eben nur noch die CRON-Eingabe und habe seit dem nie wieder "Seltsamkeiten" festgestellt. Ja, Zeitplan ist einfach, aber ich komme inzwischen auch mit Cron zurecht, zumal einen die Eingabemaske ja sehr gut "führt". Tendenziell immer beim Reiter für den größten Bereich anfangen und dann zu den kleineren Zeitdefinitionen "durchhangeln". Jeden Tag im Juni um 04:00 Uhr: Reiter "MONATE" auswählen, "bestimmte Monate" auswählen ==> Nur Juni markieren. Reiter "TAGE" auswählen, "jeden Tag" auswählen (müßte wegen Default eigentlich bereits eingestellt sein) Reiter "STUNDEN" auswählen, "bestimmte Stunden" auswählen ==> Nur 4 markieren. Reiter "MINUTEN" auswählen, "bestimmte Minuten" auswählen ==> Nur 0 markieren. (müßte wegen Default eigentlich bereits eingestellt sein)

338

Online

33.0k

Benutzende

83.7k

Themen

1.3m

Beiträge