Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.7k Beiträge

Hilfe zu JavaScript, Blockly, TypeScript, Node-RED, Scenes und text2command

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    HomoranH
    @Skippy07 sagte: Admin: v7.8.23 JS: v9.0.18 Daran liegt's nicht [image: 1785419511865-2205.jpg]
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    matze55M
    Datengrundlage...habe ich gepostet. Aber ich nehme die Zeitangabe jetzt raus. sonst zeigt es ja an. Danke nochmal
  • Hilfe für Skripterstellung mit Node-RED

    962 13k
    962 Themen
    13k Beiträge
    Marc BergM
    @Thomas-Braun sagte: In der Konfigurationsdatei von Node Red, also in der settings.js, kann durch hinzufügen der Zeitzone das Problem behoben werden. Wenn man den Adapter nutzt, werden Änderungen in der settings.js immer wieder überschrieben. Das bringt nichts. @taddy81 Was konkret ist denn das Problem? Lösen die inject Nodes falsch aus? Oder geht es nur um diese Meldung, bei der niemand weiß, woher sie kommt? @Taddy81 sagte: Auszug: 7/26/2026, 11:15:23 AMnode: debug 3msg.payload : string[24]
  • Sonoff RF Bridge Tasmota mit NodeRed/MQTT Problem

    30
    0 Stimmen
    30 Beiträge
    4k Aufrufe
    K
    Hallo Leute, ich bin gerade anderweitig gebunden und werde demnächst noch einmal testen und eure Tipps versuchen, umzusetzen. Ich würde gern in NR arbeiten, da ich dort derzeit am "direktesten" mit all meinen IoT-Anbindungen und Bussen in Verbindung mit Logiken arbeiten kann.
  • IP Kamera Bilder via Telegram, 2. Daten Punt Auslösung

    11
    0 Stimmen
    11 Beiträge
    527 Aufrufe
    philipplindnerDEP
    @asgothian ok das habe ich Versanden. das Problem was ich jetzt habe ist wenn beide Bedingungen erfüllt sind würd die Aktion ausgeführt. So ball ich eine ändere ist die Aktion aktiv. Was sie eigentlich nich sein dürfte. Muss ich da was zurückstellen? Meine Cod sieht aktuell so aus: // Konfiguration // ------------------------------------------------------------------------- //2. Bewerbungs angabe const bewegung02 ="mqtt.1.Philipp_Lindner_Überwachung.arlamStatus"; // Objekt-ID des Bewegungsmelders const bewegung01 = "mqtt.1.Philipp_Lindner_Überwachung.cameras.flurcam_01.motion"; // URL zur Kamera um ein Image (jpg) zu erhalten const cam_url = "http://192.168.1.23:8090/grab.jpg?oid=2&size=1280x720"; // Pfadangabe für die Speicherung der Bilder, der Pfad muss existieren const dest_path = '/opt/iobroker/temp/cam'; // Anzahl der Bilder, die vorgehalten werden sollen const imageCountMax = 4; // Prefix für die Bildnamen const imageNamePre = "Flur_"; // ------------------------------------------------------------------------- // Scriptteil // ------------------------------------------------------------------------- var request = require('request'); var fs = require('fs'); var Alarmanlage_status = getState(bewegung02).val; // 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 }); } 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 10 Sek erneut function onEvent(t) { saveImage(); setTimeout(function() { saveImage(t); }, 10 * 1000); log('onEVenter go ('+t+')', 'info'); } // Ereignisroutine /*function auloeser(){ log('Überwachunbg test start', 'info'); on({id:bewegung02, change:'ne'}, function(obj) {Alarmanlage_status=obj.state.val;}) if (Alarmanlage_status =="1"){ log('Arlame Scharf!','info'); on({id:bewegung01, val:true}, function(obj){onEvent(obj); log ('BEWEGUNG!','info');}) } log('test ende', 'info'); }*/ let Alarmanlage_status2 = 0; on({id:bewegung02, change:'ne'}, function(obj) {Alarmanlage_status=obj.state.val;}); on({id:bewegung01, val:true}, function(obj){onEvent(obj); if (Alarmanlage_status == 1){log('BEWEGUNG!','info');}}); //schedule("*/5 * * * * *", function(){ auloeser()}); // manuelle Ausführung (Test) onEvent("test"); Nachtrag: so das Problem habe ich jetzt gelöst, bin selber bescheuert umd habe den fehler nicht gesehen: let Alarmanlage_status2 = 0; on({id:bewegung02, change:'ne'}, function(obj) {Alarmanlage_status=obj.state.val;}); on({id:bewegung01, val:true}, function(obj){if (Alarmanlage_status == 1){onEvent(obj); log('BEWEGUNG!','info');}}); Danke an @Asgothian für die auf klährung.
  • Adresse anhand von GPS Koordinaten ermitteln

    3
    0 Stimmen
    3 Beiträge
    640 Aufrufe
    David G.D
    @homoran Wenn ich ehrlich bin nur auf Google. Selbst die Artikel hier im Forum findet man dort besser s über das Forum selbst. Zumindest meine Erfahrunge. Aber vielen Dank für den Link.
  • Anzahl Files und dafür belegter Speicherplatz auslesen

    communication
    21
    0 Stimmen
    21 Beiträge
    829 Aufrufe
    liv-in-skyL
    @metaxa wenn du das | awk '{print $1}' Aus dem Befehl nimmst, solltest du auch das Verzeichnis in der Konsole sehen Wegen der ZuOrdnung Dann funktioniert es aber im Blocky nicht mehr
  • [Frage] Bild per telegram verschicken?

    Verschoben
    93
    0 Stimmen
    93 Beiträge
    39k Aufrufe
    W
    hi, da ich auf der Suche nach einer Lösung ohne Dateizugriffe war (nur im RAM) und leider keine gefunden habe. Musste ein wenig gebastelt werden. Hier das Ergebnis: function sendPricture() { var photoUrl = "https://hostname/image.jpg" request.get({ url: photoUrl, encoding: 'binary' }, function (err, response, body) { var buffer = Buffer.from(body, 'binary'); sendTo('telegram.1', { type: 'photo', text: buffer, caption: 'Eingang', disable_notification: true, filename: "eingang.jpg", contentType: 'image/jpeg' }, (e) => { console.log("error: " + e); } ); }); } Läuft wir man sieht ohne Dateizugriffe. Vielleicht hilft das ja mal jemand. lg
  • Welcher Datenpunkt zeigt ob ein Adapter gelb ist?

    2
    0 Stimmen
    2 Beiträge
    171 Aufrufe
    AlCalzoneA
    @david-g <adaptername>.<instanzNr>.info.connection unterscheidet (sofern er existiert) zwischen gelb (false) und grün (true). Ob ein Adapter läuft oder nicht, sollte an system.<adaptername>.<instanzNr>.connection (Verbunden mit DB) bzw. .alive (Prozess läuft) zu erkennen sein.
  • Email auslesen und gewissen Inhalt in Datenpunkt

    javascript blockly template
    28
    0 Stimmen
    28 Beiträge
    4k Aufrufe
    liv-in-skyL
    @shwowak ich vermute mal - wenn du maillistener von hand installierst, sollte das im iobroker verzeichnis sein - nicht im home verzeichnis - ich weiß aber nicht, ob dies der fehler ist
  • Badradio

    blockly
    75
    1
    0 Stimmen
    75 Beiträge
    7k Aufrufe
    ?
    Hallo, ich habe jetzt selbst versucht dass Thema Badradio zu basteln, aber 2. Punkte fehlen mir der Huestrip soll eine bestimmte Zeit anbleiben. wenn der Huestripe dann aus geht soll auch das Badradio aus gehen. So sieht mein Blockly grad aus: [image: 1626284014192-bildschirmfoto-2021-07-14-um-19.32.10-resized.png]
  • Alexa Wecker schaltet Beleuchtung an

    javascript blockly
    60
    1
    0 Stimmen
    60 Beiträge
    10k Aufrufe
    haselchenH
    @paddex Ich bin davon ausgegangen , dass du den Alexa Adapter neu startest. Und da war meine Intention, dass Amazon das irgendwie mitbekommt und nach einer gewissen Zeit temporär den Zugang sperrt.
  • Problem mit Alarmanlage - löst plötzlich aus

    4
    1
    0 Stimmen
    4 Beiträge
    206 Aufrufe
    J
    @patrick-schulz klar geht das weil true =1 und false = 0 und da man Zahlen wunderbar vergleichen kann, geht das auch ;)
  • Anwesenheitserkennung mit Hping3

    14
    3
    0 Stimmen
    14 Beiträge
    2k Aufrufe
    J
    @oliverio Jetzt klappt es. Vielen dank =)
  • Einfache Programmierung - womit?

    blockly javascript
    17
    1
    0 Stimmen
    17 Beiträge
    1k Aufrufe
    AsgothianA
    @andygr42 sagte in Einfache Programmierung - womit?: @asgothian Pumpen auch.... ;) Bliebe nur die Frage: sind Pumpen teurer als Klempner 🤣
  • Alexa kann Geräte nach Port Forwarding nicht mehr steuern

    3
    0 Stimmen
    3 Beiträge
    147 Aufrufe
    J
    @rndix eigentlich sollte das immer mal der erste Versuch sein sein Problem zu lösen und dann auch nicht die Steinzeitvariante (kommt zwar aufs selbe Ergebnis), sondern so: iob stop iob fix
  • [Frage] Suche Skript für einfachen Betriebsstundenzähler

    Verschoben
    11
    0 Stimmen
    11 Beiträge
    2k Aufrufe
    Basti97B
    @paul53 Super vielen Dank ich probiere es aus. :)
  • Dateinamen in Ordner herausfinden und anzeigen

    blockly javascript
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    P
    @homoran Weil es ein anderes Thema war und die Antwort auf meine Frage hier viel besser gepasst hätte.
  • Zustandsänderung Aufzählungen anzeigen lassen

    Gelöst javascript blockly
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    AsgothianA
    @marcuskl sagte in Zustandsänderung Aufzählungen anzeigen lassen: @paul53 perfekt funktioniert, ich kannte das nicht, das der Trigger diese Variablen liefert. Wieder was gelernt, danke :) Ich empfehle dieses zur Lektüre. Sollte "Pflichtlektüre" sein wenn man mit Blockly Skriptet. (oder dieses für JS)
  • Werte im Vis addieren

    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    A
    Ich bin mit Sonderzeichen generell vorsichtig. In URI's ist die # verboten. In URL's ist sie das Zeichen für eine location. Das sollte aber eigentlich kein direktes Problem beim Aufruf von VIS darstellen. Ich stecke aber da nicht tief genug drin um zu wissen, ob z.B. jquery benutzt wird. Da spielt die # eine Rolle als ID selector. Um Ärger zu vermeiden nutzte ich eigentlich schon immer nur 0-9 a-z A-Z (ohne Umlaute) und ggf. Binde- bzw. Unterstrich. :)
  • Wie steuere ich das Nuki Smart Lock in blockly

    3
    2
    0 Stimmen
    3 Beiträge
    691 Aufrufe
    M
    @dragon Hat geklappt. Danke dir
  • [gelöst] Blockly wenn dann Funktion

    36
    1
    0 Stimmen
    36 Beiträge
    7k Aufrufe
    J
    @liv-in-sky Wenn man sich das gleich angewöhnt, dann hat das ein sehr großen Vorteil, da man dann gleich so beginnt zu denken und die Syntax erklärt schon der Block von sich aus, wenn man mit der Maus drüber fährt. Dein Argument ist wie "Schreiben nach Gehör" und dann die Rechtschreibung lernen, ist kläglich gescheitert ;)
  • Sprachausgabe - Einbindung Variablen möglich?

    6
    0 Stimmen
    6 Beiträge
    281 Aufrufe
    David G.D
    @frankdce Das ist ja noch besser. Ich nutze polly hauptsächlich, weil man die Sprache beeinflussen kann (Pausen, Geschwindigkeit etc). Baue zb bei jeder Ansage eine Pause vorweg ein, da meine Bose Box die Ansagen einblsndet und damit das erste Wort verschluckt. Wobei ich heute gelesen hab, dass mit der neusten Version von sayit Google wieder funktionieren soll. Musst du ggf manuell von git installieren.

425

Online

33.0k

Benutzer

83.5k

Themen

1.3m

Beiträge