Skip to content

Skripten / Logik

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

16.5k Topics 213.2k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    CodierknechtC
    @haus-automatisierung sagte in Fehlerbehandlung httpGet/httPost: Dazu gibt es glaube ich sogar schon einen Feature Request. https://github.com/ioBroker/ioBroker.javascript/issues/1599
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    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 Topics
    13k Posts
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • IoBroker Input

    Moved
    5
    3
    0 Votes
    5 Posts
    2k Views
    E
    okay, der Umweg ist zwar nachvollziehbar aber die Umsetzung bekomme ich nicht ganz hin. javascript.0.nodeStarted manuell erstellt Wenn ich aber aus Nodered heraus versuche diese dann zu setzten wird ein Objekt unterhalb von nodered.0 angelegt, also nodered.0/javascript/0/nodeStarted. Daran soll es aber erstmal nicht scheitern Wie kann das Script denn auf diese Variable hören?? Aktuell ist das Script per cron getriggert via schedule einer Funktion. Das würde dann ja wegfallen und nur noch durch den flow ausgeführt werden.
  • JavaScript: http/rawSocket

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    H
    @Bluefox: Danke für deine Antwort. Ich wollte es als Adapter mit node.js machen. Nach einer Programmier-Nacht habe ich es selbst rausgefunden. Für alle, die vielleicht das gleiche Problem haben: var net = require('net'); var client = new net.Socket(); client.connect(PORT, HOST, function() {...} var buf2=new Buffer([0x13, 0x0, 0xc8, 0x80, 0x0]); client.write(buf2); Hiermit wird ein byte-Array ohne weiteren Overhead an einen TCP-Server gesendet. Tobias
  • Webseite/HTML parsen

    Moved
    2
    1
    0 Votes
    2 Posts
    1k Views
    E
    Mache es jetzt via indexOf und split per Funktion das klappt ganz gut.
  • Erste Gehversuche

    Moved
    3
    2
    0 Votes
    3 Posts
    2k Views
    E
    Hi Pix, vielen Dank für Deine Antwort. Werde mich in Zukunft dran halten. Merke jetzt schon mehrere Sachen in einen Thread zu diskutieren macht es sehr unübersichtlich. Das Zuordnen des Topics in der vorherigen Function habe ich noch nicht ganz verstanden. [image: 235_2015-10-01_15h24_39.png] Also würde ich hier im ioBroker output node das Topic raus nehmen und in der Function so etwas einbringen (?): [image: 235_2015-10-01_15h26_47.png] Hier das kleine Function Node für die URL: `url = {}; monat = {}; jahr = {}; var dt = new Date(msg.timestamp); jahr.payload = dt.getFullYear(); monat.payload = dt.getMonth()+1; url.payload = "http://www.awg-wuppertal.de/web/awg.php?sid=333&jahr_von="+dt.getFullYear()+"&buchstabe=S&strasse=%20&hausnummer=&monat_von=13&jahr_von="+dt.getFullYear()+"&darstellung=liste"; return [url];` Sobald ich dies dann an http request gebe (also verbinde) erhalte ich im Log [msg] : string No url specified Mir fehlt wahrscheinlich einfach nur die grundlegende Kenntnis wie und in welcher Form in Node-RED die In- und Outputs zu definieren sind. Learning by doing quasi :-) EDIT: msg.url als Rückgabewert und schon klappt es. *g[/url]
  • Countdown täglich zur selben Zeit für 30 Minuten

    Moved
    11
    0 Votes
    11 Posts
    3k Views
    derAugeD
    Super Werde ich nachher testen Der Start heute mittag hatte nicht funktioniert. Bis später Gesendet von meinem BLOOM mit Tapatalk
  • Erste Gehversuche: Mit HM-PB-2-WM55-2 Sonos Wiedergabe start

    Moved
    8
    0 Votes
    8 Posts
    5k Views
    P
    Hallo Jürgen,@derAuge: macht es sinn die SONOS per variable einzutragen. Dann kann man den Script schneller für weitere SONOS nutzen ` das muss jeder selbst wissen. Nach meiner Erfahrung sind Skripte mit vielen Ersetzungen und Kurzschreibweisen schwer zu verstehen, wenn man a) Anfänger oder b) lange aus dem Thema ist. So ein Skript für einen 6fach Taster schreibe ich ja nicht jeden Tag. Wenn ich mir in einigen Monaten / Jahren noch einen Taster anschaffe, dann kann ich das bestehen de einfach kopieren. Es kommt nicht auf die 15min an, die es dauert, die genauen Datenpunktbezeichnungen zu ändern. Die Geschwindigkeit ändert sich bei so einem kurzen Skript sicher nicht. Ich würde das vorher bei den Homematic Datenpunkten machen: Du kannst aber oben im Skript Variablen definieren, die das Ansprechen des Tasters vereinfachen (zB auch, wenn der Taster mal defekt ausgetauscht wird und eine neue Seriennummer hat). zum Beispiel so: var idMitteLinksKurz = "hm-rpc.0.MEQ0027317.3.PRESS_SHORT", idMitteLinksLang = "hm-rpc.0.MEQ0027317.3.PRESS_LONG", idMitteRechtsKurz = "hm-rpc.0.MEQ0027317.4.PRESS_SHORT", idMitteRechtsLang = "hm-rpc.0.MEQ0027317.4.PRESS_LONG", idUntenLinksKurz = ... Gruß, Pix 355_9d1368fd-62a1-49e0-9c29-0e5a8beb4227.jpeg 355_1e53d405-040e-4641-ba7b-ccf13c1819c2.jpeg
  • SetState Acknowledge

    Moved
    2
    0 Votes
    2 Posts
    1k Views
    BluefoxB
    Man kann nicht nur ack setzten. Da musst du val noch mal rein schreiben.
  • [gelöst]Erstmaliges Schreiben eines Objektes

    Moved
    6
    0 Votes
    6 Posts
    1k Views
    H
    Vielen Dank ich hatte erwartet, dass das Objekt 'res' existiert, aber 'res.val' den Wert 'null' hat Tobias
  • Gelöst: Verzögerungszeit bei der Ausführung von Anweisungen

    Moved
    8
    0 Votes
    8 Posts
    3k Views
    R
    @Bluefox: Und das konnte man dann so umschreiben: ` … und hätte es dann (zumindest für mich) auch gleich noch lesbarer und verständlicher, soweit es die "Verwandschaft" zwischen setState und setStateDelayed betrifft. Mann dankt - Ralf
  • Network OWL mit Script einlesen

    Moved
    6
    2
    0 Votes
    6 Posts
    2k Views
    P
    Hallo, hab Ihr OWL-Besitzer auch neuerdings das Problem, dass der json String nicht mehr die Channels liefert und nach dem Batterie-Wert endet? {"id":"44XXXXXXXXXXXXX","signal":{"rssi":"-78","lqi":"77"},"battery":"100%","channels":{"2":null}} Scheinbar wird das notwendige Modul owlintuiion nicht mehr gefunden. 2015-09-25 19:50:31.276 - error: javascript.2 script.js.OWL: Cannot find module '/Users/pix/Documents/iobroker/node_modules/iobroker.javascript/node_modules/owlintuition' at script.js.OWL:80:11 2015-09-25 19:50:31.282 - error: javascript.2 script.js.OWL: TypeError: undefined is not a function Es lässt sich aber auch nicht nachinstallieren 2015-09-25 19:50:26.034 - error: javascript.2 npm ERR! System Darwin 14.4.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "owlintuition" "--production" "--prefix" "/Users/pix/Documents/iobroker/node_modules/iobroker.javascript" ! ```` sudo npm install owlintuition --production --prefix /Users/pix/Documents/iobroker/node_modules/iobroker.javascript Password: npm WARN package.json util@0.10.3 util is also the name of a node core module. npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.33","npm":"1.4.28"}) / iconv@2.1.11 install /Users/pix/Documents/iobroker/node_modules/iobroker.javascript/node_modules/owlintuition/node_modules/xml2json/node_modules/node-expat/node_modules/iconv node-gyp rebuild ! Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. ! Agreeing to the Xcode/iOS license requires admin privileges, please re-run as root via sudo. ! gyp ERR! build error gyp ERR! stack Error: make failed with exit code: 69 gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:267:23) gyp ERR! stack at ChildProcess.emit (events.js:98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:810:12) gyp ERR! System Darwin 14.4.0 gyp ERR! command "node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild" gyp ERR! cwd /Users/pix/Documents/iobroker/node_modules/iobroker.javascript/node_modules/owlintuition/node_modules/xml2json/node_modules/node-expat/node_modules/iconv gyp ERR! node -v v0.10.33 gyp ERR! node-gyp -v v1.0.1 gyp ERR! not ok ! npm ERR! iconv@2.1.11 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the iconv@2.1.11 install script. npm ERR! This is most likely a problem with the iconv package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! node-gyp rebuild npm ERR! You can get their info via: npm ERR! npm owner ls iconv npm ERR! There is likely additional logging output above. npm ERR! System Darwin 14.4.0 npm ERR! command "node" "/usr/local/bin/npm" "install" "owlintuition" "--production" "--prefix" "/Users/pix/Documents/iobroker/node_modules/iobroker.javascript" npm ERR! cwd /Users/pix/Documents/iobroker npm ERR! node -v v0.10.33 npm ERR! npm -v 1.4.28 npm ERR! code ELIFECYCLE npm ERR! not ok code 0 Gruß, Pix
  • Fragen zu Unterputzschalter HM-PB-2-FM

    Moved
    4
    1
    0 Votes
    4 Posts
    1k Views
    H
    O.K. ich probier es einfach mal mit true und sorry dass man fa so wenig erkennen kann. Gelobe Besserung :-) Gesendet von meinem GT-I9505 mit Tapatalk
  • Subscribe/on Optimierung

    Moved
    7
    1
    0 Votes
    7 Posts
    1k Views
    F
    @paul53: Nicht ganz., sondern: … ` Danke. Werde das heute Abend mal ausprobieren. [image: zwinkernde-smilies-0022.gif]~~![](</s><URL url=)<link_text text="http://www.smiliesuche.de/smileys/zwink ... s-0022.gif">http://www.smiliesuche.de/smileys/zwinkernde/zwinkernde-smilies-0022.gif</link_text>" /> Fitti~~
  • SayIt - Ausgabe bei MOTION

    Moved
    7
    0 Votes
    7 Posts
    1k Views
    BluefoxB
    @paul53: @Bluefox: if (obj.newState.val === true || obj.newState.val === "true" || obj.newState.val === 1 || obj.newState.val === "1") ` Javascript macht doch implizite Typwandlungen. Genügt da nicht die Abfrage if (obj.newState.val) egal, welche von den 4 Varianten stimmt ? EDIT: Bei Zeichenketten funktioniert die implizite Typwandlung nicht, da nur leere Zeichenketten (Länge 0) ein false liefern. ` Richtig. Z.B. console.log(!"0") liefert false. Auch console.log(!"false"); liefert false.
  • [gelöst] Skript das Objekt erzeugen soll funktioniert nicht

    Moved
    16
    0 Votes
    16 Posts
    3k Views
    C
    Hallo zusammen, danke BLuefox -> jetzt geht es. Ich hab es jetzt einfach einmal per Hand eingetragen. Das hat funktioniert und danach konnte ich es auch über das Auswahlmenü sehen. Auch eine weitere angelegte Variable war jetzt nahezu sofort sichtbar. Danke nochmal Gruß Dominic
  • [gelöst]Wie einen Timer einstellen

    Moved
    3
    0 Votes
    3 Posts
    2k Views
    S
    Klasse, vielen Dank. Das klappt prima!
  • OK Frage: for ( x in y) -> nur zwei von drei items

    Moved
    4
    0 Votes
    4 Posts
    1k Views
    ruhr70R
    frei nach Bluefox: function main() { // ##### Scriptstart main() ##### } setTimeout(main, 500); // startet main() nach 500 ms
  • Sayit einbinden in vorhandenes Script

    Moved
    3
    0 Votes
    3 Posts
    994 Views
    coyoteC
    Hi Pix, vielen Dank schon mal. Klar, das "true" ist natürlich nicht nötig, ist mir gar nicht aufgefallen. Das Script hatte mir Bluefox mal zusammengebaut, warum da "true" mit dabei war weiß ich jetzt auch nicht. Ok, das hier > de;75;Gutes Wetterand wusste ich schon, nur wusste ich nicht, wie ich das mit der Variable einbaue. Hast du mir ja jetzt gezeigt, danke. So: > "80;Vorsicht, der CO2 Gehalt liegt bei " + getState('hm-rega.0.1968').val Man, man da hätte ich auch selbst drauf kommen können mit den Farbwerten… :roll:
  • Kleines Script zum View wechsel…

    Moved
    4
    0 Votes
    4 Posts
    3k Views
    S
    Hallo Pix, erstmal danke. Leider habe ich es noch nicht ganz verstanden. Ich habe das Widget jetzt in allen Views eingefügt außer auf meinem Hauptview. Das script habe ich ausgetauscht. Leider wechselt der keiner der Views automatisch zurück auf den Hauptview. Hab ich da irgendwas falsch verstanden? Gruß, Sebbo
  • Ereignisprotokoll

    Moved
    1
    1
    0 Votes
    1 Posts
    1k Views
    No one has replied
  • Zählertsand per pushbullet verschicken

    Moved
    2
    0 Votes
    2 Posts
    821 Views
    B
    Hallo, ersetzte var zaehler =hm-reg.0.6280; durch var zaehler = getState("hm-rega.0.6280").val;

762

Online

32.6k

Users

82.2k

Topics

1.3m

Posts