Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.9k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    maxclaudiM
    @paul53 sagte: @maxclaudi [sagte]: keine Inet-Verbindung besteht - dann steigt zenSDK nach und nach aus. Wie kommst du darauf? maxclaudi sagte: @paul53 sagte: Wie kommst du darauf? tcpdump, wireshark, Analyse, Erfahrung. Gut, wenn es bei Deiner Firmware nicht so ist. Das wurde auch vom Zendure-Entwickler David schon früher bestätigt - wenn es nicht mit neuer Firmware verändert wurde -, siehe: Das Problem liegt nicht am Script, sondern an der Firmware
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    erledigt
  • Hilfe für Skripterstellung mit Node-RED

    964 13k
    964 Themen
    13k Beiträge
    A
    @OliverIO ich kopiere morgen mal die Meldungen die mir Node-Red auswirft. Es steht meistens, ....ist kein String....
  • EPaper-Server/Displays per CURL ansteuern?

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    2k Aufrufe
    t.omalleyT
    Hab´s hinbekommen, curl lässt sich ganz einfach über den exec-node ausführen! Ich frage hier bei Änderungen die Temperaturen ab und lege die in Flow-Variablen ab, das Display wird immer nur dann (mit den aktuellen Temperaturen) aktualisiert, wenn das kritische Dachfenster geöffnet oder geschlossen wird - das spart Batteriestrom. Mit dieser Lösung zeige ich am Ausgang an, dass noch ein Fenster offen ist, weil das schon oft vergessen wurde. Das Display sollte damit 5-6 Jahre durchhalten, dann gibt´s schickere Lösungen. Nachdem nun die größte Hürde genommen ist, mache ich mich an Displays mit Raumbelegung/Kalender, anstehende ical-Termine (Mülltermine - Tonnen rausstellen), Auslastungs-/Umsatzzahlen, Diensteinteilungen…Möglichkeiten ohne Ende - und keine Stromversorgung nötig freu [image: 3152_img_0953.jpg] Hier mein flow: ! ```` [ { "id": "b859cbc9.b0f1e8", "type": "function", "z": "6355756.629658c", "name": "27_4 xml bauen", "func": "var tempkueche = flow.get("tempkueche");\nvar temptoilet = flow.get("temptoilet");\nvar tempchef = flow.get("tempchef");\nvar templager = flow.get("templager");\nvar fenster = flow.get("fenster");\n\nvar newMsg = {payload: "<taskorder title="Refresh B302D29E"><templatetask labelid="B302D29E" externalid="40" template="2h_foyer.xsl"></templatetask></taskorder>"};\nreturn newMsg;", "outputs": 1, "noerr": 0, "x": 460, "y": 860, "wires": [ [ "5d131aad.853774", "ddbeea82.b7adf8" ] ] }, { "id": "481d1366.247e4c", "type": "exec", "z": "6355756.629658c", "command": "curl -X POST -d @/volume1/iobroker/iobroker-data/files/vis.0/daten/27_4.xml "http://192.168.100.5:8001/service/task\" --header "Content-Type:application/xml"", "addpay": false, "append": "", "useSpawn": "", "timer": "2", "name": "Output", "x": 790, "y": 900, "wires": [ [], [], [] ] }, { "id": "5d131aad.853774", "type": "file", "z": "6355756.629658c", "name": "27_4 xml write", "filename": "/volume1/iobroker/iobroker-data/files/vis.0/daten/27_4.xml", "appendNewline": false, "createDir": false, "overwriteFile": "true", "x": 660, "y": 860, "wires": [] }, { "id": "ddbeea82.b7adf8", "type": "delay", "z": "6355756.629658c", "name": "2sec-del", "pauseType": "delay", "timeout": "2", "timeoutUnits": "seconds", "rate": "1", "nbRateUnits": "1", "rateUnits": "second", "randomFirst": "1", "randomLast": "5", "randomUnits": "seconds", "drop": false, "x": 660, "y": 900, "wires": [ [ "481d1366.247e4c" ] ] }, { "id": "8d4efc4b.600eb", "type": "ioBroker in", "z": "6355756.629658c", "name": "temptoilet", "topic": "hm-rpc.0.KEQ0578061.4.ACTUAL_TEMPERATURE", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "x": 120, "y": 860, "wires": [ [ "f043e1c1.cc97c" ] ] }, { "id": "744b6ade.5d1e54", "type": "ioBroker in", "z": "6355756.629658c", "name": "fenster", "topic": "hm-rpc.0.LEQ1470154.1.STATE", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "x": 450, "y": 980, "wires": [ [ "2acef966.8e4b96" ] ] }, { "id": "f043e1c1.cc97c", "type": "function", "z": "6355756.629658c", "name": "temptoilet", "func": "var glob = (msg.payload);\nflow.set("temptoilet",glob);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 260, "y": 860, "wires": [ [] ] }, { "id": "d549b0c0.662e2", "type": "function", "z": "6355756.629658c", "name": "fenster", "func": "var glob = (msg.payload);\nflow.set("fenster",glob);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 450, "y": 900, "wires": [ [ "b859cbc9.b0f1e8" ] ] }, { "id": "2acef966.8e4b96", "type": "change", "z": "6355756.629658c", "name": "change", "rules": [ { "t": "change", "p": "payload", "pt": "msg", "from": "true", "fromt": "bool", "to": "FENSTER OFFEN", "tot": "str" }, { "t": "change", "p": "payload", "pt": "msg", "from": "false", "fromt": "bool", "to": "", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 460, "y": 940, "wires": [ [ "d549b0c0.662e2" ] ] }, { "id": "e9e11b8d.1bca98", "type": "ioBroker in", "z": "6355756.629658c", "name": "tempkueche", "topic": "hm-rpc.0.JEQ0211467.1.TEMPERATURE", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "x": 130, "y": 920, "wires": [ [ "df4c5cdb.c9af2" ] ] }, { "id": "df4c5cdb.c9af2", "type": "function", "z": "6355756.629658c", "name": "tempkueche", "func": "var glob = (msg.payload);\nflow.set("tempkueche",glob);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 290, "y": 920, "wires": [ [] ] }, { "id": "5ffa7c8c.d79f14", "type": "ioBroker in", "z": "6355756.629658c", "name": "tempchef", "topic": "hm-rpc.2.000313C99069FE.1.ACTUAL_TEMPERATURE", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "x": 120, "y": 980, "wires": [ [ "e2fb6395.08434" ] ] }, { "id": "e2fb6395.08434", "type": "function", "z": "6355756.629658c", "name": "tempchef", "func": "var glob = (msg.payload);\nflow.set("tempchef",glob);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 260, "y": 980, "wires": [ [] ] }, { "id": "7712d5cf.1f7dcc", "type": "ioBroker in", "z": "6355756.629658c", "name": "templager", "topic": "hm-rpc.0.JEQ0012416.1.TEMPERATURE", "payloadType": "value", "onlyack": "", "func": "rbe", "gap": "", "x": 120, "y": 1040, "wires": [ [ "11958bef.65c544" ] ] }, { "id": "11958bef.65c544", "type": "function", "z": "6355756.629658c", "name": "templager", "func": "var glob = (msg.payload);\nflow.set("templager",glob);\nreturn msg;", "outputs": 1, "noerr": 0, "x": 280, "y": 1040, "wires": [ [] ] } ] Hier noch das zugehörige XSL-Template (aus der Dokumentation abgewandeltes .xls): >! ```` >! <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:template match="Record"><xsl:variable name="bgcolor"><xsl:choose><xsl:when test="room/field[@key='invert']/@value = '1'">black</xsl:when> <xsl:otherwise>white</xsl:otherwise></xsl:choose></xsl:variable> >! <xsl:variable name="fgcolor"><xsl:choose><xsl:when test="room/field[@key='invert']/@value = '1'">white</xsl:when> <xsl:otherwise>black</xsl:otherwise></xsl:choose></xsl:variable> >! >! <field height="80" width="176" x="0" y="0"><xsl:attribute name="background-color"><xsl:value-of select="$bgcolor"></xsl:value-of></xsl:attribute> <text align="center" font-size="34" font-weight="bold"><xsl:attribute name="color"><xsl:value-of select="$fgcolor"></xsl:value-of></xsl:attribute> <xsl:value-of select="room/field[@key='Zeile1']/@value"></xsl:value-of></text></field> >! <field height="22" width="176" x="0" y="81"><xsl:attribute name="background-color"><xsl:value-of select="$bgcolor"></xsl:value-of></xsl:attribute> <text align="left" font-size="18" font-weight="bold"><xsl:attribute name="color"><xsl:value-of select="$fgcolor"></xsl:value-of></xsl:attribute> <xsl:value-of select="room/field[@key='Zeile2']/@value"></xsl:value-of></text></field> >! <field height="22" width="176" x="0" y="104"><xsl:attribute name="background-color"><xsl:value-of select="$bgcolor"></xsl:value-of></xsl:attribute> <text align="left" font-size="18" font-weight="bold"><xsl:attribute name="color"><xsl:value-of select="$fgcolor"></xsl:value-of></xsl:attribute> <xsl:value-of select="room/field[@key='Zeile3']/@value"></xsl:value-of></text></field> >! <field height="22" width="176" x="0" y="127"><xsl:attribute name="background-color"><xsl:value-of select="$bgcolor"></xsl:value-of></xsl:attribute> <text align="left" font-size="18" font-weight="bold"><xsl:attribute name="color"><xsl:value-of select="$fgcolor"></xsl:value-of></xsl:attribute> <xsl:value-of select="room/field[@key='Zeile4']/@value"></xsl:value-of></text></field> >! <field height="22" width="176" x="0" y="150"><xsl:attribute name="background-color"><xsl:value-of select="$bgcolor"></xsl:value-of></xsl:attribute> <text align="left" font-size="18" font-weight="bold"><xsl:attribute name="color"><xsl:value-of select="$fgcolor"></xsl:value-of></xsl:attribute> <xsl:value-of select="room/field[@key='Zeile5']/@value"></xsl:value-of></text></field> <field align="left" height="35" width="100" x="40" y="220">![](../images/LiebigLogo_100_35.png)</field></xsl:template></xsl:stylesheet>
  • Brauche dringend Hilfe !!

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    554 Aufrufe
    Niemand hat geantwortet
  • Frage zu RegEx am Beispiel von Pix

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    2k Aufrufe
    T
    @BBTown: dann wären wir für jeden Block wieder hier 8-) [12]?[0-9]?[0-9] ```` ` Stimmt. Hier war gerade soviel Bewegung im Thread, habe ich übersehen. Das müsste nach meinem heute erlangente Verständnis alles abgreifen.
  • TCP output node. Verbindung öffnen und schließen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    873 Aufrufe
    Niemand hat geantwortet
  • Wie Regenmenge ermitteln (Wetterstation)

    Verschoben
    20
    0 Stimmen
    20 Beiträge
    4k Aufrufe
    N
    danke. das script muss ich nun erstmal begreifen ;) gruß
  • On mit mehreren State Trigger

    Verschoben
    48
    0 Stimmen
    48 Beiträge
    15k Aufrufe
    T
    Hallo blauholsten, hallo Pix, vielen Dank für eure Hilfe. Bzgl. JS: das lag nicht am Skript, da war gar nichts Neues drin. Wohl eher an meinen Update Versuchen. Nun habe ich alles nochmal komplett neu gemacht und es läuft weider. Werde trotzdem eine zweite Instanz einrichten, ist in der Tat sinnig.
  • [gelöst] Skript Frage - 2tes Gerät 10 Minuten später

    Verschoben
    54
    0 Stimmen
    54 Beiträge
    6k Aufrufe
    paul53P
    @paul53: Funktioniert es mit ack: true, oldAck: false ? ` @noxx: Ja, sieht so aus. ` Dann markiere bitte das Thema als gelöst (im ersten Beitrag).
  • [Gelöst] Blockly kaputt gespielt?

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    rantanplanR
    Dann ändere bitte Deinen ersten Eintrag und setzte in den Betreff ein [gelöst]….. Grüße
  • [gelöst] Script für Seitenwechsel funktioniert nur in altem Vis-Adapter

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    PeoplesP
    Hi, die View heißt nicht "Wandtablet/Home" das "Wandtablet" ist der Projektname und das "Home" ist der Viewname. Diese habe ich damals aus den Objekten -> vis.0 -> data entnommen und hat auch immer funktioniert (bis jetzt). Nun habe ich den Projektnamen weggelassen, und nur das "Home" bzw. "Kamera_Garage" verwendet und die Weiterleitung funktioniert, jedoch wird dann eine "weisse Seite" (eine Seite ohne Inhalt) mit der richtigen Browseradresse aufgerufen. Wenn ich dann im Anschluss in die Adresszeile meines Browsers klicke und die dort bereits hinterlegte Adresse durch drücken von Enter bestätige, läd er die gewünscht View, sonst leider nicht. Es scheint als wäre das Problem dass ich die View auf meinem Tablet (im Fully Browser) darstelle und zeitgleich zum testen eine View am PC in Chrome offen habe jedoch war das beim alten Vis egal. Vieleicht wegen den Instanzen? Edit Also es ist tatsächlich so dass der doppelte Browseraufruf der Views anscheinend den automatischen Seitenwechsel beeinflusst. Sobald einer der beiden Browser geschlossen wird besteht das Problem nicht mehr. Gruß Peoples
  • Alexa Licht ein/aus eigene Scripte starten

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    1k Aufrufe
    OE5AMPO
    Herr lass Hirn vom Himmel fallen :-) Habe jetzt die Python Scripte ausgelassen und verwende nen TCP Request. Und im Wemo Menü kann man eh einstellen was bei Ein und Aus gesendet werden soll. Je nachdem was der TCP Fub gefüttert bekommt, schickt er das weiter. Somit erspare ich mir die 2 Python Scripte komplett. Naja als gelernter Strippenzieher, fehlt mir da noch etwas Erfahrung mfg
  • [geloest] Javascript Schedule am nächsten Tag nicht mehr aktiv?

    Verschoben
    19
    0 Stimmen
    19 Beiträge
    3k Aufrufe
    D
    @looxer01: @looxer01: Ich habe das alte Programm tatsächlich kopiert und auch noch gestartet gehabt. ` Dann sollte es jetzt funktionieren (wenn ich nicht noch ein C&P Problem erzeugt habe ;) Falls es funktioniert, dann stelle den Thread doch bitte auf [geloest] vG Looxer ` Klar… aber lass mich mal eine Woche testen:-) Edit: Ich denke es ist tatsächlich vollbracht! Funktioniert die letzten Tage hervorragend! Vielen Dank an Dich und deine Geduld! Gesendet von iPad mit Tapatalk
  • Script über Button vorübergehend deaktivieren

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    884 Aufrufe
    BuZZyB
    Manuellen Datenpunkt erstellen, diesen bei Knopfdruck auf 1 stellen und das Script anpassen dass wenn der Datenpunkt = 1 ist dann nichts tun. Zusätzlich um 0 Uhr mit einem Cronjob den Datenpunkt wieder auf 0 zurück setzen.. Von unterwegs gesendet
  • Keines meiner Blockly Scripte funktioniert

    Verschoben
    7
    2
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    H
    Globale Skripte hab ich so verstanden, dass sie global verfügbar sind also keine Vorgaben oder so haben. Naja war ein kleines Verständnis Problem. Danke für eure Hilfe!
  • Anschubhilfe benötigt: ioBroker Skripten

    Verschoben
    10
    0 Stimmen
    10 Beiträge
    1k Aufrufe
    N
    @klassisch: ….@noxx FHEM und das FHEM Forum haben sich prächtig eintwickelt. Als ich bei der HM eingestiegen bin, war das FHEM Forum eher eine google group, jedenfalls noch recht in den Anfängen. Da sah das HM Forum schon ganz anders aus und das war für mich das entscheidende Kriterium. Ohne gutes Forum kann man solche Sachen vergessen. ` Sehe ich genau so, reicht nicht nur wenn die Admins bemüht sind. Ohne gute Community ist der erste Sargnagel schon drin. Support ist gut hier, einzig bei den Anwendungsbeispielen/Anleitungen könnte man noch etwas drauf legen. Videotutorial Javascript Videotutorial vis (Youtube zeigt bisher nur Lampen auf nem Grundriss. Widgets fehlen) Denke aber, da wird noch einiges kommen.
  • [Frage] Daten vom Fritz WLAN Repeater 310 abfragen

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    550 Aufrufe
    Niemand hat geantwortet
  • [Frage] Wie 5 Sekundentakt innerhalb einer If-Bedingung

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    778 Aufrufe
    PeoplesP
    Tausend Dank euch werde es gleich mal probieren Gruß Peoples
  • [gelöst] Verzögert ausschalten "Timeout" dauert zu lange

    Verschoben
    20
    0 Stimmen
    20 Beiträge
    3k Aufrufe
    paul53P
    @Mr. Burns: Bedeutet dies ack: true gar nicht bei Aktualisierung Wert "True" also Positive Flanke? Er triggert die Funktion bei jedem Flankenwechsel. ` Er triggert sogar bei jeder Änderung des Zeitstempels, unter der Bedingung, dass eine Bestätigung (Rückmeldung des Aktors über die Ausführung) erfolgt ist. Sollte nur bei Wert "true" getriggert werden, muss man schreiben val: true. Will man ganz sicher gehen, dass nur bei einer postiven Flanke getriggert wird, dann val: true, oldVal: false oder val: true, change: 'ne'.
  • Strom- und Energieverbrauch PVA und Bilanz

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    649 Aufrufe
    Niemand hat geantwortet
  • Datenpunkt immer zu einer bestimmten Zeit am Tag 1 abziehen

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    962 Aufrufe
    S
    @dpt: @SchuetzeSchulz: Und gerade für PRESS_SHORT das Dummyscript auf der CCU nicht vergessen. ` ? was meinst damit habe zwar schon 6 Jahre Homematic, jedoch erst neu iobroker. ` Das hier: http://forum.iobroker.net/viewtopic.php … ipt#p55437
  • Einmal auslösen irgendwann zwischen zwei Zeitpunkten

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    675 Aufrufe
    B
    Das teste ich! Dankeschön!! :)

435

Online

33.0k

Benutzer

83.6k

Themen

1.3m

Beiträge