Skip to content

Skripten / Logik

16.6k Topics 214.5k Posts

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

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Topics
    49k Posts
    J
    hallo, ich habe mich auch für den skript entschieden, bis 29.03 hat noch alles gut funktioniert und dann die Meldung "script.js.wetter_com: [Wetter.com] Monatslimit erreicht (100/100). Abruf gestoppt." seit dem funktioniert der Abruf vom Daten nicht. Was muss ich machen, das wieder Daten aktualisiert werden? Grüße
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    Murphy 0M
    @Martin_1705 sagte: @Murphy-0 Danke, ich werde jetzt auch einmal das Entladen bei MaxVol 3,16V beenden Entladen stoppe ich aber nach minVol bei 3,16 Volt. Die schwächste Zelle soll ja geschützt werden. Laden stoppe ich nach maxVol.
  • Hilfe für Skripterstellung mit Node-RED

    955 13k
    955 Topics
    13k Posts
    mickymM
    @Tontechniker Man kann solche Filter aber auch OHNE neue Nodes zu installieren mit einfachen Standard-Switch Nodes realisieren: [image: 1776865319208-af3cab3c-2716-43f4-b7df-7f74e8bf051b-image.jpeg] ggf. einfach nochmal meinen alten Thread anschauen: https://forum.iobroker.net/topic/50086/datum-und-zeitverarbeitung-mit-nodered
  • [gelöst]Blockly Licht und Toröffnung

    14
    1
    0 Votes
    14 Posts
    999 Views
    R
    @ralla66 Jetzt habe ich die Zeit gefunden das mal umzubauen. Eigentlich ist es recht einfach mit den Variablen. Habe es jetzt so gebaut, das die Var Zeit Wahr sein muss, wenn die Beleuchtung mit schalten soll. Funktioniert auf Anhieb. Danke für den Tip. Die Sache mit dem Sensor muss ich mir nochmal überlegen. Hier nochmal mein funktionierendes Script. [image: 1627072894857-hoftor3.jpg]
  • Raspberry neustarten bei Log Fehler

    3
    2
    0 Votes
    3 Posts
    137 Views
    R
    @alcalzone Super vielen Dank. Genau was ich gesucht habe
  • Sonoff RF Bridge Tasmota mit NodeRed/MQTT Problem

    30
    0 Votes
    30 Posts
    4k Views
    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 Votes
    11 Posts
    419 Views
    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 Votes
    3 Posts
    582 Views
    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 Votes
    21 Posts
    609 Views
    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?

    Moved
    93
    0 Votes
    93 Posts
    36k Views
    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 Votes
    2 Posts
    144 Views
    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 Votes
    28 Posts
    4k Views
    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 Votes
    75 Posts
    5k Views
    ?
    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 Votes
    60 Posts
    8k Views
    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 Votes
    4 Posts
    169 Views
    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 Votes
    14 Posts
    1k Views
    J
    @oliverio Jetzt klappt es. Vielen dank =)
  • Einfache Programmierung - womit?

    blockly javascript
    17
    1
    0 Votes
    17 Posts
    1k Views
    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 Votes
    3 Posts
    115 Views
    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

    Moved
    11
    0 Votes
    11 Posts
    2k Views
    Basti97B
    @paul53 Super vielen Dank ich probiere es aus. :)
  • Dateinamen in Ordner herausfinden und anzeigen

    blockly javascript
    8
    0 Votes
    8 Posts
    2k Views
    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

    Solved javascript blockly
    9
    0 Votes
    9 Posts
    859 Views
    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 Votes
    17 Posts
    2k Views
    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 Votes
    3 Posts
    630 Views
    M
    @dragon Hat geklappt. Danke dir

545

Online

32.8k

Users

82.8k

Topics

1.3m

Posts