Skip to content

Skripten / Logik

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

16.6k Topics 213.7k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    G
    @Waly_de da fehlt der Anfang irgendwie ;-) Schaue ich mir wie gesagt man an. Was nutzt Du sonst als "Entwicklungsumgebung"? Testest Du direkt in iobroker mit debug-Ausgaben oder gibt's da noch einen anderen Weg? ("echtes" debugging?)
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    T
    @ste_glei sagte in [Sonos Adapter // Radiosender // Lautstärke] nein, bei mir sind auch mehrere Favoriten in der Liste. Einfach aus der Liste den Sender kopieren (aufpassen auf das Leerzeichen davor). Ich würde nach der Prüfung mal einen DEGUG-output mit "SONOS" setzen und schauen ob deine Prüfung auch ein "wahr" ausgibt. Wenn ich die Wenn-Prüfung heraus nehme, scheint es zu funktionieren. Das würde ich aber gern verbessern, da der Radiosender nicht nochmals einstellt werden muss, wenn er bereits eingestellt worden ist. Wie meinst du das mit DEBUG-output mit "SONOS im Detail?
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    Marc BergM
    Es gibt in der Verson 1.3.0 einen neuen Node: iob-setObject (Stand 10.02.26 noch beta) Mit dem neuen Node kann man ioBroker-Objektdefinitionen (Metadaten) direkt schreiben und ändern. Hauptfunktionen: Instanz-Konfigurationen ändern - z.B. MQTT publish-Pattern, Intervalle, etc. Objekt-Eigenschaften aktualisieren - Namen, Rollen, Einheiten, Min/Max-Werte ändern es gibt zwei Modi: Merge-Modus : Ändert nur die angegebenen Eigenschaften, alle anderen bleiben erhalten Replace-Modus: Überschreibt das komplette Objekt Typischer Workflow: Objekt mit iob-getobject holen Mit Change-Node gewünschte Properties ändern Mit iob-setobject zurückschreiben
  • [erledigt]createState

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    blauholstenB
    So heute nochmal getestet, und es geht wieder! :roll:
  • Text Nachrichten per Twiter versenden

    Moved
    4
    0 Votes
    4 Posts
    2k Views
    N
    Die Logik darüber, welche Informationen zum Senden führen sollen, muss ja irgendwo her kommen… Diese Filterung kannst du auch in Node-Red machen. Entweder in einem Function-Node (per if und einfach kein msg per return senden, wenn nicht gesendet werden soll) oder die Prüfung in einen switch-Node einbauen. Der Text im function Node müsse in etwa so aussehen: if (msg.payload===true || msg.payload=="true") { msg.payload="xxx"; return msg; } else return null; Die Abfrage sowohl für Typ boolean als auch für string ist deshalb drin, weil es manchmal Probleme mit der automatischen Typkonvertierung gab.
  • [gelöst] Home24 Mediaplayer request senden

    Moved
    2
    0 Votes
    2 Posts
    1k Views
    etvE
    Hallo Andy, @AndyUM61: Hat sich erledigt: __var Url = ""; Url = 'http://[meine IP]:50000/track=silence.ogg'; request(Url);__ ` bei mir tut sich da gar nix, außer diese Meldung javascript-0 2016-01-06 20:38:10 error at script.js.Test_Home24_Player_ansprechen:3:1 javascript-0 2016-01-06 20:38:10 error ReferenceError: request is not defined javascript-0 2016-01-06 20:38:10 error ^ javascript-0 2016-01-06 20:38:10 error request(Url); javascript-0 2016-01-06 20:38:10 error script.js.Test_Home24_Player_ansprechen: script.js.Test_Home24_Player_ansprechen:3 und wenn ich diesen Teil davor stelle var http = require('http'); und danach dann den Request mit http.request(Url); schreibe, dann hab ich zwar keinen Fehler mehr, aber auch keinen Ton aus dem Handy ;) Funktionieren tut es grundsätzlich, denn via CCU oder Browser kann ich den Befehl absetzen… Grüße etv 2858_iobroker.2018-12-04_alexa_2_0.log
  • [gelöst] Daten eine Temperatursensors in eione .txt Datei schreiben

    Moved
    13
    0 Votes
    13 Posts
    7k Views
    L
    ja, absolut korrekt. hatte ich uebersehen, weil nicht getestet aber es entspricht auch der Erklaerung. Da bin ich ja teilweise gerettet :oops:
  • [Gelöst] Addieren des Stromverbrauches von L1 L2 L3

    Moved
    12
    0 Votes
    12 Posts
    6k Views
    H
    Ich habe eben gerade den ersten Eintrag um meine Lösung erweitert. Vielleicht kann es ja jemand brauchen.
  • Funk Schalter PRESS_LONG Wert erhöhen

    Moved
    1
    0 Votes
    1 Posts
    2k Views
    No one has replied
  • [gelöst] Zeilenumbruch in Text

    Moved
    6
    0 Votes
    6 Posts
    4k Views
    H
    Danke Pix….. Gesendet von meinem Lenovo TAB 2 A10-70L mit Tapatalk
  • [gelöst] Aus Skript ein weiteres Skript starten

    Moved
    4
    0 Votes
    4 Posts
    2k Views
    H
    Hey Jey Cee… Danke für den Tipp. Also direkter Start ist nicht möglich. Dafür einfach einen virtuellen Schaler setzen, welcher dann dass andere Skript startet. Gesendet von meinem Lenovo TAB 2 A10-70L mit Tapatalk
  • POPUP bei ALARM

    Moved
    2
    0 Votes
    2 Posts
    2k Views
    P
    Hallo Manuel, ist das eine Homematic-Variable? Dann so: /* Pushmeldung bei Änderung der Variable ALARM */ var idAlarm = 'hm-rega.0.12345'; // REGA Alarmvariable vom Homematic eintragen on({ id: idAlarm, val: true }, function(obj) { var status = 'Tür offen', betreff = 'ioBroker Alarm', prio: '1', // ansage = betreff + '!' + ' ' + status + '.'; sendTo('pushover', { message: status, title: betreff, priority: prio }); // optional auch Ansage // setState("sayit.0.tts.text"/*Text to speech*/, ansage); }); Optional mit Sayit - Ansage. Dann bitte "//" in Zeile 10 und 19 löschen. Gruß Pix EDIT: VIS Popup kannst du über die Sichtbarkeit machen. Ein Textfenster (zB HTML Basic) mit großem Z-Index erstellen und Alarmtext reinschreiben. Dann in den Einstellungen die Sichtbarkeit auf true stellen bei ID hm-rega.0.12345. Dann wird das Fenster nur angezeigt, wenn die hm-rega.0.12345 auf true geht.
  • Happy New Year

    Moved
    2
    0 Votes
    2 Posts
    648 Views
    V
    Danke, kann ich nur beipflichten! Gesendet von meinem iPhone mit Tapatalk
  • Neuling?

    Moved
    22
    0 Votes
    22 Posts
    4k Views
    paul53P
    So sieht die Javascript-Lösung für die Aufgabenstellng aus: var request = require('request'); var url = 'http://api.openweathermap.org/data/2.5/weather?q=Strehla,DE&units=metric&APPID=e5de2c3e2339a69b6d181c0cb9d2e5d8'; var wetter = {}; // alle 15 Minuten schedule("*/15 * * * *", function () { request(url, function(error, response, body) { if (!error && response.statusCode == 200) { wetter = JSON.parse(body); setState("hm-rega.0.4764",wetter.main.temp.toFixed(2) + " °C"); setState("hm-rega.0.4765",wetter.main.pressure.toFixed(1) + " hPa"); setState("hm-rega.0.4766",wetter.main.humidity;.toFixed(0) + " %"); setState("hm-rega.0.4767",wetter.wind.speed.toFixed(1) + " m/s"); setState("hm-rega.0.4768",wetter.wind.deg.toFixed(0) + " °"); } }); });
  • Abfrage von Datenpunkten

    Moved
    10
    0 Votes
    10 Posts
    9k Views
    paul53P
    @paul53: Die verkürzte Schreibweise on(eins, status()); funktioniert leider nicht. Richtig: on(eins, function() {status();}); on(zwei, function() {status();}); on(drei, function() {status();}); on(vier, function() {status();}); ```` ` oder so: on(eins, status); on(zwei, status); on(drei, status); on(vier, status);
  • Xml2js Probleme bis zum javascript restart…

    Moved
    3
    0 Votes
    3 Posts
    835 Views
    etvE
    sch…. - danke dir, das war's! Man sollte nicht am Abend und ohne Lesebrille programmieren :) Grüße etv
  • Script optimieren - Frage an Experten mit einem Beispiel

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    etvE
    …danke nochmal an paul53 und pix für ihre genialen Beispiele! Hab beide Versionen ausprobiert - sie funktionieren! Im Einsatz hab ich nun die Version von paul53, weil's noch einen Tick kürzer ist.... Beide Scripte haben sehr interessanten code drinnen, der mir bei meinen weiteren Projekte sicher weiter helfen wird! Grüße etv
  • Taster in Java Script träge?

    Moved
    4
    4
    0 Votes
    4 Posts
    1k Views
    H
    Hallo zusammen. Ich hatte bis vor geraumer Zeit exakt das selbe Phänomen. Ich schalte meine hue leuchten über ein tcl Script, welches auf der ccu2 liegt. Verzögerung nach dem drücken des Schalters jeweils 4-6 Sekunden. Eine Optimierung der Skripte, Umstellung von einzelleuchten auf Gruppen hat alles nichts gebracht. Ich konnte das Problem letztlich lösen, indem ich die Parameter des Schalters auf der Ccu selbst geändert habe. Vielleicht hilfts ja. 253_image.png
  • Rollläden gemeinsam fahren

    Moved
    1
    0 Votes
    1 Posts
    893 Views
    No one has replied
  • Temperatur Soll/Ist

    Moved
    4
    0 Votes
    4 Posts
    3k Views
    R
    Hallo, ich wollte mal fragen ob sich meinen Flow mal jemand ansehen kann… irgendwie funktioniert zwar meine VERGLEICH Funktion aber sobald ich die variable von fest auf msg.payload ändere geht es nichtmehr. Ich denke ich mache etwas falsch mit der aufbereitung des signals zur verarbeitung im der VERGLEICH Funktion. Vielleicht kann mir jemand helfen. [{"id":"2e21ea7b.d1de16","type":"ioBroker in","name":"Heizen_Windfang_set","topic":"Heizen_Windfang_set","payloadType":"value","x":141,"y":936,"z":"943d2350.6bc2e","wires":[["50876867.af7898"]]},{"id":"c8b3e754.374c18","type":"ds18b20","name":"windfang","sensorid":"28-0000063a0c27","timer":"15","x":106,"y":853,"z":"943d2350.6bc2e","wires":[["b53a0cbe.4ac5f"]]},{"id":"3f122220.c0edde","type":"function","name":"Vergleich","func":"var ist = msg.payload.Temp_Windfang;\nvar soll = msg.payload.Soll_Windfang;\n//var ist = 11.12;\n//var soll = 20.34567;\nif (ist>soll)\n{msg.payload=1;\n}\nelse\n{msg.payload=0;\n}\nreturn msg;","outputs":1,"noerr":0,"x":592,"y":1000,"z":"943d2350.6bc2e","wires":[["b97addac.46852"]]},{"id":"243d02eb.dbc2fe","type":"debug","name":"","active":true,"console":"false","complete":"false","x":590,"y":937,"z":"943d2350.6bc2e","wires":[]},{"id":"b53a0cbe.4ac5f","type":"function","name":"Temp_Windfang","func":"var Temp_Windfang = msg.payload;\nmsg.payload=Temp_Windfang;\nreturn msg;","outputs":1,"noerr":0,"x":382,"y":854,"z":"943d2350.6bc2e","wires":[["c25a309f.3da5d","3f122220.c0edde"]]},{"id":"c25a309f.3da5d","type":"debug","name":"","active":true,"console":"false","complete":"payload","x":592,"y":855,"z":"943d2350.6bc2e","wires":[]},{"id":"50876867.af7898","type":"function","name":"Soll_Windfang","func":"var Soll_Windfang = msg.payload;\nmsg.payload=Soll_Windfang;\nreturn msg;","outputs":1,"noerr":0,"x":374,"y":936,"z":"943d2350.6bc2e","wires":[["243d02eb.dbc2fe","3f122220.c0edde"]]},{"id":"b97addac.46852","type":"debug","name":"","active":true,"console":"false","complete":"false","x":583,"y":1060,"z":"943d2350.6bc2e","wires":[]},{"id":"1edc21f7.e123de","type":"inject","name":"","topic":"","payload":"20","payloadType":"string","repeat":"10","crontab":"","once":false,"x":100,"y":983,"z":"943d2350.6bc2e","wires":[["50876867.af7898"]]},{"id":"33779bdc.cc8864","type":"inject","name":"","topic":"","payload":"25","payloadType":"string","repeat":"15","crontab":"","once":false,"x":107,"y":891,"z":"943d2350.6bc2e","wires":[["b53a0cbe.4ac5f"]]}] danke TOBI
  • Typenbezeichnung auslesen

    Moved
    9
    0 Votes
    9 Posts
    2k Views
    B
    Moin, Sorry, hatte die letzten Tage keine Zeit. Hab es jetzt ausprobiert wie Pix es beschrieben hat. Funktioniert super, Dankee :mrgreen:
  • Konsolen-Befehl per remote ssh abgeben

    Moved
    7
    0 Votes
    7 Posts
    2k Views
    R
    Hallo fischi87 wie ich sehe ist das schon gelöst. aber ich antworte noch für die andere:-) -ja, Radio ist installiert auf einem anderem RPI. Du hast das mit ioBroker gelöst und bei mir läuft das auf der CCU Zentralle Gruss
  • [gelöst]per Ping SV steuern

    Moved
    13
    0 Votes
    13 Posts
    3k Views
    paul53P
    @fischi87: Es wäre doch kein Problem das Skript einfach zu erweitern richtig? ` Kein Problem, wenn es zur Funktion passt.

366

Online

32.7k

Users

82.4k

Topics

1.3m

Posts