Skip to content

Skripten / Logik

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

16.5k Themen 213.2k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    BananaJoeB
    @peterfido und ping heißt nicht das ein http-Aufruf funktioniert
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    K
    Hallo, wollt mich nur nochmal schnell zurückmelden - es funktioniert jetzt! Vielen Dank an alle für eure Unterstützung! :) Mfg Marcus
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Skript für Temperaturmessung bitte um Hilfe

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    806 Aufrufe
    H
    Danke für die rasche Hilfe. Super :) Lg Manuel
  • Auslösen eines Skriptes mittel Füllstandssensor

    Verschoben
    15
    1
    0 Stimmen
    15 Beiträge
    3k Aufrufe
    wendy2702W
    Das andere Script läuft jetzt auch ohne Error im log. Musste also nicht mehr testen. Danke
  • XML Daten (TV Programm) in ioBroker

    Verschoben
    42
    0 Stimmen
    42 Beiträge
    15k Aufrufe
    T
    @pix: @tesso: @pix Kannst du die aktuellen widgets und css evtl. auch in deinem Post verlinken? Ich verliere hier den Überblick was ich nun brauche, um das Skript nutzen. ` erledigt, siehe erster Post. Gruß Pix ` Danke
  • Wie kann ich die Size und DateCreated einer Datei ermitteln?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    895 Aufrufe
    ThisoftT
    Vielen Dank, fs.stat (und die ähnlichen Befehle die ich in der Doku gefunden habe) hilft mir sehr weiter. Nach einigem Try and Error bin ich jetzt auch dahintergekommen wie ich das aufrufen muss ;) . Manchmal braucht man eben einen Schubs… Gruß Thilo 4867_2018-12-23_14_16_53-window.jpg
  • Logging Vielfach

    Verschoben
    4
    2
    0 Stimmen
    4 Beiträge
    984 Aufrufe
    E
    @ErRi: Hallo, bin recht neu hier und versuche gerade meine Rolladensteuerung von der CCU2 auf iobroker umzuziehen. Ich habe nur geringe Programmierkenntnisse, versuche die Beispielscripte für meinen Bedarf anzupassen. Ich habe nun das Rolladenscript swoweit, dass es i.d.R. funktioniert, nur in der Log-Datei werden einige Zeilen/Befehle zigfach ausgegeben. Bis zum ERROR: You are sending too fast. Habe das Script schon aufgrund Beitrag hier im Forum von "setTimeout" auf "setStateDelayed" geändert, aber es ist das gleiche Ergebnis. Vermutlich habe irgendwo einen Fehler eingebaut. filename="20151231-Log-vielfach1.png" index="1">~~ filename="20151231-Log-vielfach2.png" index="0">~~ Vielen Dank schon vorab für die Hilfe. ` Hallo, ich habe inzwischen meine Rolladensteuerung umgestellt auf Szenen. SetTimeout und setStateDelayed benutze ich hierfür nicht mehr. Somit ist dieses Problem für mich gelöst, wobei ich immer noch nicht weiß was da falsch war.
  • Nudging - Nur einen Wert in eine Variable für Sayit

    Verschoben
    60
    0 Stimmen
    60 Beiträge
    8k Aufrufe
    P
    Hallo, bin dem Link gefolgt und habe den Eintrag mit dem Skript durchgesehen. Da gibt es diese Zeile: var Temperatursensor = getState("hm-rpc.0.LEQ0177463.1.TEMPERATURE"); /*Temperatursensor:1.TEMPERATURE*/ ````da fehlt ein ".val": var Temperatursensor = getState("hm-rpc.0.LEQ0177463.1.TEMPERATURE").val; /Temperatursensor:1.TEMPERATURE/ Gruß Pix
  • [gelöst] Alte Variablen löschen unter Javascript.0

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    885 Aufrufe
    T
    Na klar! Ich war in iobroker.vis mit dem Objekt-Explorer unterwegs. Dort gibt es keinen Papierkorb. Aber im iobroker.admin schon ;)
  • Node-red Wetter auslesen und per Twitter versenden

    Verschoben
    4
    3
    0 Stimmen
    4 Beiträge
    5k Aufrufe
    N
    Hi, das http request node steht bereits auf JSON und gibt somit bereits ein Objekt zurück. Zweimal parsen geht nicht. Die angegebene forcast url sprengt wohl aber die internen Buffer sodass das nicht korrekt klappt. (Es kommen über 15000 Zeichen zurück). Wenn man statt der forcast url das aktuelle Wetter abruft, klappt das ganze aber ohne Probleme. Hier der Flow: [{"id":"970c6a1.f68f398","type":"inject","z":"500acb55.aff534","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":165,"y":463,"wires":[["d2963a9d.2d69c8"]]},{"id":"d2963a9d.2d69c8","type":"http request","z":"500acb55.aff534","name":"","method":"GET","ret":"obj","url":"http://api.openweathermap.org/data/2.5/weather?id=2810860&APPID=3a3827ac7226f28af97c2fb89b35b929&units=metric","x":372,"y":365,"wires":[["848759aa.7b78a8"]]},{"id":"848759aa.7b78a8","type":"function","z":"500acb55.aff534","name":"","func":"// OpenWeatherMap JSON Antwort parsen\n//var weather=JSON.parse(msg.payload);\n \n// Neue Nachricht mit Payload erstellen\nvar newMsg = { payload: \"Die aktuelle Temperatur in München ist \"+ msg.payload.main.temp + \" Grad.\" };\n \n// Zurückgeben der Nachricht\nreturn newMsg;","outputs":1,"noerr":0,"x":601,"y":360,"wires":[["830cca71.7cf338"]]},{"id":"830cca71.7cf338","type":"debug","z":"500acb55.aff534","name":"","active":true,"console":"true","complete":"payload","x":735,"y":449,"wires":[]}]
  • Flow für Auslösung auf Änderung, nicht auf Aktualisierung

    Verschoben
    10
    1
    0 Stimmen
    10 Beiträge
    6k Aufrufe
    apollon77A
    Ich hab grad das folgende erfahren: In node-red 0.13 wird die Switch-Node wohl auch Vergleiche auf Basis des letzten Wertes erlauben
  • ScriptEngine Migration aus ccu.io

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    eric2905E
    Genau den meinte ich. Gruß, Eric
  • [gelöst] Mein erstes Script - Temperaturdifferenz bewerten

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    P
    Hallo André, Wichtiger ist, dass du den Überblick behältst. Ich habe derzeit über 100 Skripte, viele mit mehreren Hundert Zeilen. Mit organisierter Namensvergabe und möglichst einheitlicher Struktur innerhalb der Skripte geht das ganz gut. Immer schön kommentieren, das hilft. Gruß Pix Gesendet mit Tapatalk 9054_events.jpg
  • Datenrücksicherung nur Skripte

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    P
    Ja, früher in CCU.IO musste man auch mit eigenem eigenen Editor die Skripte im Ordner bearbeiten. Man konnte dadurch zwar leichter Sichern, aber der "eingebaute" Editor sorgt natürlich für Stabilität. Ich vermisse auch die Funktion, per Klick einzelne Skripte als Textdatei über den Browser zu sichern. Gruß Pix
  • Flow für IP-Cam

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    3k Aufrufe
    F
    Hi, das mit dem Flow hab ich mal probiert, hat aber leider net funktioniert…..
  • Node red für Anfänger/ NOOBs (wie mich) / Sammlung der Funktionen für nodes

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    13k Aufrufe
    M
    so… jetzt stellen wir uns mal vor wir bekommen den Flur mit Zellen =(Array) und benötigen eine oder die andere zelle nicht... Dann wird Flur (array) auch kleiner.... aus unserem oberen Beispiel: [ [ "mqtt/0/DOino<>MQTT/0/58/1/0/0" ], "42.27", [ "mqtt/0/DOino<>MQTT/0/20/1/0/0" ], "-127.00" ] Zelle 0 :"mqtt/0/DOino<>MQTT/0/58/1/0/0" Zelle 1 :"42.27" Zelle 2 : "mqtt/0/DOino<>MQTT/0/20/1/0/0" Zelle 3 :"-127.00" und wollen z.B. alle Zellen mit dem Inhalt```` "mqtt/0/DOino<>MQTT/0/58/1/0/0" dafür wird ein Funktionsnode Benötigt mit folgenden code: var outputMsgs = msg.payload; var i; while ((i = outputMsgs.indexOf("mqtt/0/DOino<>MQTT/0/58/1/0/0")) != -1) { outputMsgs.splice(i, 1); } var msgNEWarray={payload: outputMsgs} return [msgNEWarray]; mit indexOf wird die Zelle gesucht, und wenn wir die Adresse der Zelle kennen, diese Zelle entfernt! hier noch ein beispiel mit entfernen von zellen mit "," oder "}" [{"id":"5bb24327.748f4c","type":"function","name":"clean array","func":"var outputMsgs = msg.payload;\n var i;\n while ((i = outputMsgs.indexOf(":")) != -1) \n {\n outputMsgs.splice(i, 1);\n }\n while ((i = outputMsgs.indexOf(",")) != -1) \n {\n outputMsgs.splice(i, 1);\n }\n while ((i = outputMsgs.indexOf("{")) != -1) \n {\n outputMsgs.splice(i, 1);\n }\n while ((i = outputMsgs.indexOf("}")) != -1) \n {\n outputMsgs.splice(i, 1);\n }\nvar msgNEWarray={payload: outputMsgs}\nreturn [msgNEWarray];","outputs":"1","noerr":0,"x":252,"y":494,"z":"bc3e7d10.9bc388","wires":[[]]}] [933_2016-01-10_16_39_57-.jpg](/assets/uploads/files/933_2016-01-10_16_39_57-.jpg)
  • [gelöst]Homepilot JSON einlesen

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    3k Aufrufe
    A
    Hallo Pix, Danke, der Heftrücken hat noch gefehlt in der Beschreibung nun bekomme ich eine Position ermittelt allerdings stimmt die nicht. Er zeigt mir 100% an obwohl 80 oder 0 sind und das auch noch 5 min. später , hast du da eine Idee an was das liegt
  • [gelöst ]UDP Message senden

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    3k Aufrufe
    M
    Hallo soef, Danke, genau das wars. Funktioniert jetzt wie es soll. Gruss, mayer
  • [erledigt]createState

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    blauholstenB
    So heute nochmal getestet, und es geht wieder! :roll:
  • Text Nachrichten per Twiter versenden

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    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

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    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

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    7k Aufrufe
    L
    ja, absolut korrekt. hatte ich uebersehen, weil nicht getestet aber es entspricht auch der Erklaerung. Da bin ich ja teilweise gerettet :oops:

682

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge