Skip to content

Skripten / Logik

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

16.4k Themen 211.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 48k
    2k Themen
    48k Beiträge
    D
    @maxclaudi Vielen Dank für das ausführliche oben beschriebene Verhalten von smartMode. Es gibt wirklich keine konstante wann er umschaltet. Hatte erst mal.4 Tage ohne umschalten und dann kann sein das er 3 mal am tag umschaltet
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    Dr. BakteriusD
    @Asgothian sagte in Farbe aus R/G/B rechnet falsch: ggf. erwartet dieser die farbwerte in %, nicht 0-255 Danke, das war's.
  • Hilfe für Skripterstellung mit Node-RED

    952 13k
    952 Themen
    13k Beiträge
    HomoranH
    @fiddle sagte in [Gelöst]: Adapter per {Node Red | JS} (de)aktivieren: Ok, nicht als "Wert" schreiben, sondern als "Befehl". Dann scheint ihn das zu beeindrucken. du zeigst ja nichts, aber es geht mit true/false [image: 1763416200051-screenshot_20251117-224854_firefox.jpg] gesteuert über eigenen DP vom typ Bool
  • Einführung in Skripting

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    paul53P
    @Pumbadinho: Die größten Probleme macht mir momentan der Zugriff auf die Objekte. Ich versuche per Skript meinen Samsung-Fernseher umzuschalten. ` Das JS-Statement müsste sicherlich lauten (Groß-/Kleinschreibung beachten): setState("samsung.0.Channel.Channel Up", true); Ein neuerer Samsung-TV wird wahrscheinlich nicht darauf reagieren.
  • Wake iPhone, ioBroker und Homematic CCU2

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    773 Aufrufe
    blauholstenB
    Hi, Bin zwar ein Rookie, Aber probier doch mal nach dem on(….., eine if Abfrage mit if(obj.newState.val === false). Das könnte theoretisch deinen Wunsch erfüllen. on("hm-rpc.0.MEQ0662742.1.STATE", function (obj) { if(obj.newState.val === false) { checkPresence(); } });
  • Warn: Wrong type…

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    739 Aufrufe
    A
    @paul53: Das wurde http://forum.iobroker.de/viewtopic.php?f=21&t=2915&sid=79e97c9e7fea67b201dba0df173f21d5 schon einmal diskutiert. ` DANKESCHÖN:)! Hab ich nicht gesehen;)…
  • IoBroker input node löst nicht aus :(

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    H
    Danke.. Du bist mein Held.. Stundenlang versucht und dann diesen Fehler hier gefunden. Gruß Holger
  • Mit on() auf Sensoren in einem Gewerk triggern

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    S
    So, jetzt habe ich mir auch ein kleines Alarmscript (irgendeine Fensteröffnung = Pushovermeldung) gebastelt, welches die Besonderheit hat, dass es die beiden Kellerfenstersensoren nicht meldet, sofern diese beiden Fenster vom Entfeuchtungsscript automatisch geöffnet/geschlossen worden sind. Außerdem sendet es nur eine Meldung, wenn die Personenanzahl weniger als 1 ist (also niemand zuhause ist). Das habe ich über den Geofence Adapter gelöst. Es scheint so zu klappen alles, vielleicht nicht elegant, aber ich kann denn Code nachvollziehen. // Forum: http://forum.iobroker.net/viewtopic.php?f=21&t=2473 // Horcht an allen Gewerken (functions) unter "Alarm" und sendet bei Statusänderung // Schließt die beiden Kellerfenster vom Alarm aus, sofern das Lüftungsscript die Öffnung/Schließung angestoßen hat: // wenn Jalousieaktorstatus (= Aktor für die Fenstermotoren) auf WORKING steht, dann werden die Kellerfenster ausgeschlossen! // IDs deklarieren var jemandzuhauseid = "geofency.0.atHomeCount"/*atHomeCount*/; var kellerscriptsiid = "hm-rpc.0.MEQ03xxxxx.1.WORKING"/*Fensteröffner Keller Sicherungsraum:1.WORKING*/; // liest den Jalousieaktor aus, WORKING = in Arbeit var kellerscriptwaid = "hm-rpc.0.MEQ05xxxxx.1.WORKING"/*Fensteröffner Keller Waschraum:1.WORKING*/; $('channel(functions=Alarm)[state.id=*.STATE]').on(function (event) { // An "Alarm"-Gewerke nach Statusänderungen prüfen var _obj = getObject(event.id, 'functions'); log("---------------------------------------------------"+ event.channelName, "info"); var jemandzuhause = getState(jemandzuhauseid).val; // IDs auslesen var kellerscriptsi = getState(kellerscriptsiid).val; var kellerscriptwa = getState(kellerscriptwaid).val; if((event.channelName !== 'Fenstersensor Keller Sicherungsraum' && kellerscriptsi !== true) || // Ausschluss Kellerfenster bei automatischer Öffnung/Schließung (event.channelName !== 'Fenstersensor Keller Waschraum' && kellerscriptwa !== true)) { if (jemandzuhause < 1) // Prüft ob jemand Zuhause ist { sendTo("pushover", {message: 'ALARM: ' + event.channelName + ' hat angeschlagen!', priority: 1}); // wenn nein, Alarmnachricht //setState(sayit_vol, 100); //setState(sayit_txt, "Der "+ event.channelName +" hat angeschlagen."); } } });
  • CCU2 Fensterkontakt und ibroker script

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    2k Aufrufe
    I
    Ja das stimmt, sind schon mehrerer Themen :-) iobroker : 0.9.0 homematic-rega : 1.1.1 homematic-rpc : 1.1.3 JavaScript engine : 2.1.8 Bei scripts, ID einfügen sehe ich alle homematic Objekte. Ich denke, dass da grundsätzlich ein Problem mit JavaScript besteht, das folgende cmd geht in der RasPi Konsole : pi@raspberrypi01:~$ sudo hping3 -2 -c 2 -p 5353,62078 192.168.xxx.xxx -q HPING 192.168.1.144 (wlan0 192.168.xxx.xxx): udp mode set, 28 headers + 0 data bytes –- 192.168.xxx.xxx hping statistic --- 2 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms Dasselbe aus dem script exec("sudo hping3 -2 -c 2 -p 5353,62078 192.168.xxx.xxx -q",function(err,stdout,stderr) {log(err,stdout,stderr)}); javascript.0 script.js.MyScripts.Script1: Unknown severity level "HPING 192.168.xxx.xxx (wlan0 192.168.xxx.xxx): udp mode set, 28 headers + 0 data bytes " by log of [Error: Command failed: /bin/sh -c[/color] sudo hping3 -2 -c 2 -p 5353,62078 192.168.xxx.xxx –- 192.168.xxx.xxx hping statistic --- 2 packets transmitted, 0 packets received, 100% packet loss round-trip min/avg/max = 0.0/0.0/0.0 ms ] Die Statusänderung auf dem Fensterkontakt ergibt nichts in iobroker, keine logeinträge on({id:"hm-rega.0.3335.state", val:true}, function(err,stdout,stderr) {log(err,stdout,stderr)}); I konw, just a beginner :-)
  • Simulation PV-Anlagen Größe

    Verschoben
    1
    2
    0 Stimmen
    1 Beiträge
    535 Aufrufe
    Niemand hat geantwortet
  • Usertreffen - Wetter E-Mail

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    P
    Steht in der Doku von iobroker.email https://github.com/ioBroker/ioBroker.em … /README.md Email im HTML Format Gruß Pix Gesendet mit Tapatalk
  • IoBroker und Homematic CCU2

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    I
    Bin einen Schritt weiter, lösche den arp Eintrag mit arp -d IP, wecke dann das iPhone und pinge 20x. Danach den arp cache auslesen und die mac Adresse ist wieder drin, wenn iPhone Antwort gegeben hat. Wie kann ich nun den arp cache prüfen, ob die aus dem Array drin ist ? –> function checkArpEntry(), dann eine CCU2 Systemvariable setzen und das script noch ausführen, wenn ein Homematic Fensterkontakt an der Türe anspricht. :-) var listIphones = [ { "name": "user1", "ip":"192.168.xxx.xx4", "mac":"c0:1a:xx:xx:xx:xx" }, { "name": "user2", "ip":"192.168.xxx.xx3", "mac":"f0:dc:xx:xx:xx:xx" }, { "name": "user3", "ip":"192.168.xxx.xx0", "mac":"d8:bb:xx:xx:xx:xx" } ]; function wakeIphone(ip) { exec("sudo hping3 -2 -c 15 -p 5353 " + ip + " -q", function(err, stdout, stderr) { if (err) { log(err); return; } //log(stdout) ; }); } function pingIphone(ip) { exec("sudo ping " + ip + " -c 20 -i 0.5", function(err, stdout, stderr) { if (err) { log(err); return; } log(stdout) ; }); } function deleteArpEntry(ip) { exec("sudo arp -d " + ip, function(err, stdout, stderr) { if (err) { log(err); return; } //log(stdout) ; }); } function checkArpEntry(ip) { exec("sudo arp -a", function(err, stdout, stderr) { if (err) { log(err); return; } log(stdout) ; // mac in arp table ?? }); } function checkPresence() { for (var i = 0; i < listIphones.length; i++) { deleteArpEntry(listIphones__.ip); //arp table, delete mac from iphone wakeIphone(listIphones__.ip); pingIphone(listIphones__.ip); checkArpEntry(__.ip); //arp table, check mac from iphone } } // main checkPresence();________
  • (gesucht) Kleines Script: Kaffeemaschine

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    2k Aufrufe
    D
    Hallo Paul, DANKE, jetzt läuft es. Tschuldigung für meine blöden Fehler!
  • Problem schedule mit Variablen?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    F
    Danke, darauf bin ich heute auch gestoßen, die Zusammenhänge sind da aber doch sehr unübersichtlich. Mit sehr viel Geduld und Probieren habe ich es jetzt aber wohl hin bekommen Letztendlich steht es ja tatsächlich im fast letzten Text drin, nur ist der zunächst für einen Script-Neuling unverständlich
  • Spritpreise einlesen

    Verschoben
    29
    0 Stimmen
    29 Beiträge
    8k Aufrufe
    P
    @DiJaexxl: Hallo pix, Ich werde auf dich warten. :) ` http://forum.iobroker.net/viewtopic.php?f=20&t=2992
  • Licht einschalten mit javascript bzw vairable setzen

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    P
    Hallo Biboxx, da fehlt noch ein STATE, wenn es ein Schaltaktor ist. Beim Dimmer sag nochmal bescheid. on('geofency.0.Wilde_Heide_10.entry', function(obj) { log('Neuer Geofency-Wert ' + obj.state.val); setState('hm-rpc.0.LEQ0216092.1.STATE', obj.state.val); }); Gruß Pix PS: Bitte Code-Tags für Code im Forum benutzen
  • [gelöst] invalid type of idobject im subscribe Befehl mit RegEx seit JS Adapter 2.1.3

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    D
    Mit 2.1.8 kann ich es nun ohne Fehlermeldung stoppen! Danke für die schnelle Behebung.
  • :0.LOWBAT funktioniert nicht mehr

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    G
    Hallo pix, habe jetzt bei mir Dein UNREACH implementiert und alle :0 Kanäle werden als UNREACH mit warn-Logging gemeldet. Finde ich irgendwie komisch, da ja früher die Kanäle funktioniert haben. Viele Grüße Gerd.
  • Pi mit DS18B20 als Temperaturfühler

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    5k Aufrufe
    derAugeD
    Danke für die Rückmeldung. Bei mir ist im JS-Adapter alles leer. Leider weiß ich nicht mehr ob ich dort etwas eingetragen hatte. :x EDIT Habe den Eintrag gefunden: ds18x20 016-05-29 12:26:50.554 - info: javascript.0 terminating 2016-05-29 12:26:50.489 - info: host.RPi2-2 object change system.adapter.javascript.0 2016-05-29 12:26:50.516 - info: host.RPi2-2 stopInstance system.adapter.javascript.0 2016-05-29 12:26:50.519 - info: host.RPi2-2 stopInstance system.adapter.javascript.0 killing pid 1261 2016-05-29 12:26:50.637 - info: host.RPi2-2 instance system.adapter.javascript.0 terminated with code 0 (OK) 2016-05-29 12:26:53.083 - info: host.RPi2-2 instance system.adapter.javascript.0 started with pid 1327 2016-05-29 12:26:57.314 - info: javascript.0 starting. Version 2.1.3 in /opt/iobroker/node_modules/iobroker.javascript 2016-05-29 12:26:57.359 - info: javascript.0 npm install ds18x20 --production --prefix "/opt/iobroker/node_modules/iobroker.javascript" (System call) 2016-05-29 12:27:07.914 - info: javascript.0 ds18x20@0.2.0 opt/iobroker/node_modules/iobroker.javascript/node_modules/ds18x20 ├── sandal@1.0.1 ├── async@0.2.10 └── sync-exec@0.5.0 2016-05-29 12:27:07.984 - info: javascript.0 requesting all states 2016-05-29 12:27:07.992 - info: javascript.0 requesting all objects 2016-05-29 12:27:09.353 - info: javascript.0 received all states 2016-05-29 12:27:09.844 - info: javascript.0 received all objects 2016-05-29 12:27:09.941 - info: javascript.0 Start javascript script.js.DS18B20_Werte_abfragen 2016-05-29 12:27:10.079 - info: javascript.0 script.js.DS18B20_Werte_abfragen: ################## Sensor DS18B20 werden ausgelesen ##### 2016-05-29 12:27:10.081 - info: javascript.0 script.js.DS18B20_Werte_abfragen: Driver geladen: true 2016-05-29 12:27:10.086 - info: javascript.0 script.js.DS18B20_Werte_abfragen: Sensor Array : 28-00000696af59,28-0000069797b5,28-00000697a7d3,28-000006963b1d 2016-05-29 12:27:10.088 - info: javascript.0 script.js.DS18B20_Werte_abfragen: Sensor Anzahl : 4 2016-05-29 12:27:10.095 - info: javascript.0 script.js.DS18B20_Werte_abfragen: Sensor 1 = 28-0000069797b5 2016-05-29 12:27:10.098 - info: javascript.0 script.js.DS18B20_Werte_abfragen: Sensor 2 = 28-00000697a7d3 2016-05-29 12:27:10.100 - info: javascript.0 script.js.DS18B20_Werte_abfragen: Sensor 3 = 28-000006963b1d 2016-05-29 12:27:10.152 - info: javascript.0 script.js.DS18B20_Werte_abfragen: registered 0 subscriptions and 1 schedule Nun läuft es wieder Gruß Jürgen
  • Variablentypen in for … loop

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    706 Aufrufe
    paul53P
    @Homoran: Ist das ein Fehler im hm-rega, dass der alles als String interpretiert? ` Nein, hm-rpc macht es genauso. [image: 493_common_control_mode.jpg]
  • [jetzt aber gelöst] Nochmal: Fehler in Skripten seit Update 2.1.2

    Verschoben
    23
    0 Stimmen
    23 Beiträge
    3k Aufrufe
    paul53P
    @Homoran: Bluefox kann bei einem Pull-request das auch alles berücksichtigen. ` Ein Pull-Request ist kein Problem (habe ich schon ein paar Mal genutzt). Wenn es damit für Bluefox einfacher wird, lasse ich künftig JIRA außen vor.
  • [gelöst]Anfänger braucht hilfe: download und speichern Albumcover

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    2k Aufrufe
    P
    Hallo, seit dem letzten großen Javascript Update gibt es mit der Download Lib Probleme. Deshalb lieber so weitermachen: http://forum.iobroker.net/viewtopic.php … 1d1#p26342 Gruß Pix
  • Array zerlegen

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    M
    Ja es hat wunderbar geklappt. Genau der Hinweis / Tip hat mir gefehlt. Gruß miggi20000

863

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge