Skip to content

Skripten / Logik

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

16.6k Themen 213.7k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    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 Themen
    79k Beiträge
    Thomas BraunT
    @Duffy Ja, z. B. Oder mit auch per tail -f /opt/iobroker/log/iobroker.current.log Oder mit less in einem Pager anschauen. Oder oder...
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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
  • Blockly und Zipato RGBW - String ausgeben

    Verschoben
    2
    2
    0 Stimmen
    2 Beiträge
    535 Aufrufe
    P
    Falls es mal jemandem hilft: Ich habe mittlerweise eine Lösung dafür gefunden: [image: 2802_zipato.jpg] Besonderheit bzw. Problem war, das der Parameter "Level" jedes mal wieder mit gesetzt werden muss. Bei Fibaro z.B. setzt sich Level automatisch auf 20, wenn Rot = 20 gesetzt wird. Bei Zipato nicht.
  • Sonnenuntergangs als einschaltzeit Blocky

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    617 Aufrufe
    K
    Hey Paul, was kommisch st heute abend hat es wirklich funktioniert :shock: ich werde es mal die age eobachten und dann nchmal antwort geben ob alles soweit läuft!!! ich danke dir trotzdem recht herzlich für deine große hilfe. und umzu deiner frage zu kommen ja es war in den objekten der richtige reiter und ich konnte die schlaterstellung damit ändern… p.s. die bilder werde ich absofort dann so hochaden kein problem vielen vielen dank nochmal...fürs erstebstimm ;) gruß, Chris
  • Amazon Echo - Update Probleme ?? Node-Red Probleme?

    Verschoben
    44
    0 Stimmen
    44 Beiträge
    4k Aufrufe
    L
    Interesanterweise ist dann trotzdem nicht das update installiert. Ich habe es bereits mehrfach ausprobiert.
  • Blockly Script Hilfe

    Verschoben
    6
    1
    0 Stimmen
    6 Beiträge
    890 Aufrufe
    S
    Eine Frage hab ich noch .Wie kann ich mit Blockley einem Object ID einen anderen Wert zu weisen?
  • Fehler im Log, was dagegen tun?

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    896 Aufrufe
    K
    Hi Bekomme die gleiche Meldung (es funktioniert aber alles). Wie funktioniert das mit dem konvertieren, bekomm das leider nicht hin… z.B. setState("onkyo.0.command","main.subwoofer-temporary-level=UP"); kommt die meldung warn at Object. <anonymous>(script.js.Onkyo:6:2) warn Wrong type of onkyo.0.command: "string". Please fix, while deprecated and will not work in next versions.</anonymous> Gruß edit Hat sich erledigt. Für die Nachwelt: statt den onkyo adapter lieber onkyo-vis adapter nutzen. Wie der installiert wird steht hier viewtopic.php?f=20&t=2316&hilit=onkyo+vis#p22772 Der Befehl musste danach so aussehen setState("onkyo-vis.0.RAW","SWLUP");
  • Hilfe zu: aus HEX String 0 / 1 finden und Position ermitteln

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    398 Aufrufe
    J
    Auf jeden Fall hilft das weiter. Super vielen Dank dafür !!!!
  • Adapterabsturz bei Fehlerhaftem Aufruf

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    649 Aufrufe
    Mr. BurnsM
    Danke für den Hinweis. Adapter wurde upgedatet. Von V3.6.4 auf V3.7.0. Das Script hab ich auch neu erstellt. Den ioBroker aus dem Terminal neu gestartet. Der Fehler ist geblieben. Außerdem ist mir aufgefallen, das beim Neustart folgendes im Log steht: ` > admin.0 2018-07-27 14:37:52.635 error setObject id missing!! web.0 2018-07-27 14:37:50.870 error setObject id missing!! ` Hatte gelesen, das dies ignoriert werden könnte, da bereits gefixt. Ist dem so? Oder spricht dies noch für andere Probleme? Gruß Thomas
  • Hue Bewegungsmelder und Sonos

    Verschoben
    7
    1
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    K
    Habs so gemacht: [image: 8132_screenshot__8_.png] Eine Frage hätte ich nur noch, der Bewegungsmelder schaltet das Licht unmittelbar nach der Bewegung ein… aber bis die Sonos Box startet dauert es ca. 20 sek, jemand ne Idee woran es liegen könnte ? kai
  • [gelöst] Eigenschaft von Datenpunkt per Script bearbeiten

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    2k Aufrufe
    N
    @paul53: Ersetze bitte noch im Betreff des ersten Beitrags [HILFE] durch [gelöst]. ` Hatte ich vor. Dazu muss ich nur erstmal an den Rechner… Gesendet von meinem SM-T820 mit Tapatalk
  • Skript für Türklingel aber GPIO verzögern

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    647 Aufrufe
    M
    Danke, sehr….. hatte es gesucht..... leider nicht gefunden Gesendet von iPhone mit Tapatalk
  • [workaround] sendTo in Blockly

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    814 Aufrufe
    N
    Ja, so geht's auch. Aber ich mag's halt kompliziert und umständlich. ;-) Aber dann halt auf die klassische Weise. B-) Gesendet von meinem SM-T820 mit Tapatalk
  • Blockly Script für Benachrichtigung

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    887 Aufrufe
    K
    Wenn ich dich richtig verstanden habe, würde ich es wie folgt machen. Die Temperauter des Außentermomethers als Trigger. Dann wird geprüft ob die Außentemp kleiner ist, als eine der drei Innentemps. Wenn ja, bekommst du eine Nachricht
  • [geloest] mit Blockly text in Datenpunkt setzen

    Verschoben
    4
    3
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    K
    Hallo, bin durch das fast gleich Problem auf diesen Beitrag gestoßen. Ich benötige auch einen Datenpunkt , den ich dann über Blockly beschreiben kann, wenn ein Eingang TRUE wird. Es soll ein Text sein z.B. "Rot". Allerdings weiß ich nicht genau, wie ich den Datenpunkt anlegen muss.
  • [gelöst] [Blockly] Rollosteuerung bei Hitze

    Verschoben
    4
    3
    0 Stimmen
    4 Beiträge
    764 Aufrufe
    M
    Für alle Interessierten, ich habe es nun wie folgt am Laufen: var timeout, timeout2, timeout3, timeout4, timeout5, timeout6, timeout7; // Erzeuge Zustand Hitze Nord-NordOst createState("javascript.0.Hitze_N-NO", function () { schedule("55 6 * * *", function () { if (getState("yr.0.forecast.day0.temperature_max").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_max").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_N-NO"/*javascript.0.Hitze_N-NO*/, true); } else { setState("javascript.0.Hitze_N-NO"/*javascript.0.Hitze_N-NO*/, false); } }); }); // Wohnzimmer & Esszimmer_links schedule("0 7 * * *", function () { if (getState("javascript.0.Hitze_N-NO").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 25); timeout = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3906.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B382F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 25); } }, 60000); } }); schedule("0 11 * * *", function () { if (getState("javascript.0.Hitze_N-NO").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 100); timeout2 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3906.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3906.4.LEVEL"/*Rollo_WZ:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B382F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B382F.4.LEVEL"/*Rollo_EZ_links:4.LEVEL*/, 100); } }, 60000); } }); // Erzeuge Zustand Hitze_Ost-SüdOst createState("javascript.0.Hitze_O-SO", function () { schedule("55 7 * * *", function () { if (getState("yr.0.forecast.day0.temperature_max").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_max").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_O-SO"/*javascript.0.Hitze_O-SO*/, true); } else { setState("javascript.0.Hitze_O-SO"/*javascript.0.Hitze_O-SO*/, false); } }); }); // Esszimmer_rechts & Küche & Yvonne´s Zimmer & Badezimmer schedule("0 8 * * *", function () { if (getState("javascript.0.Hitze_O-SO").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 25); timeout3 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3A5F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B3947.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B390F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B35F7.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 25); } }, 60000); } }); schedule("10 15 * * *", function () { if (getState("javascript.0.Hitze_O-SO").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 100); timeout4 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3A5F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3A5F.4.LEVEL"/*Rollo_EZ_rechts:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B3947.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3947.4.LEVEL"/*Rollo_KUE:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B390F.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B390F.4.LEVEL"/*Rollo_YZ:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B35F7.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B35F7.4.LEVEL"/*Rollo_BZ:4.LEVEL*/, 100); } }, 60000); } }); // Erzeuge Zustand Hitze_Süd-SüdWest createState("javascript.0.Hitze_S-SW", function () { schedule("40 15 * * *", function () { if (getState("yr.0.forecast.day0.temperature_actual").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_actual").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_S-SW"/*javascript.0.Hitze_S-SW*/, true); } else { setState("javascript.0.Hitze_S-SW"/*javascript.0.Hitze_S-SW*/, false); } }); }); // Büro & HWR schedule("45 15 * * *", function () { if (getState("javascript.0.Hitze_S-SW").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 25); timeout5 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3937.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B3868.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 25); } }, 60000); } }); schedule("10 20 * * *", function () { if (getState("javascript.0.Hitze_S-SW").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 100); setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 100); timeout6 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B3937.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3937.4.LEVEL"/*Rollo_BUE:4.LEVEL*/, 100); } if (getState("hm-rpc.1.001118A98B3868.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B3868.4.LEVEL"/*Rollo_HWR:4.LEVEL*/, 100); } }, 60000); } }); // Erzeuge Zustand Hitze_West-NordWest createState("javascript.0.Hitze_W-NW", function () { schedule("40 17 * * *", function () { if (getState("yr.0.forecast.day0.temperature_actual").val >= 21 && (getState("yr.0.forecast.day0.text").val == 'Schönwetter' || getState("yr.0.forecast.day0.text").val == 'Klarer Himmel') || getState("yr.0.forecast.day0.temperature_actual").val >= 25 && (getState("yr.0.forecast.day0.text").val != 'Regenschauer' || getState("yr.0.forecast.day0.text").val != 'Gewitter')) { setState("javascript.0.Hitze_W-NW"/*javascript.0.Hitze_W-NW*/, true); } else { setState("javascript.0.Hitze_W-NW"/*javascript.0.Hitze_W-NW*/, false); } }); }); // WC, Kinderzimmer & Schlafzimmer schedule("45 17 * * *", function () { if (getState("javascript.0.Hitze_W-NW").val == true) { setState("hm-rpc.1.001118A98B35E3.4.LEVEL"/*Rollo_KZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B38B1.4.LEVEL"/*Rollo_SZ:4.LEVEL*/, 25); setState("hm-rpc.1.001118A98B37E3.4.LEVEL"/*Rollo_WC:4.LEVEL*/, 25); timeout7 = setTimeout(function () { if (getState("hm-rpc.1.001118A98B35E3.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B35E3.4.LEVEL"/*Rollo_KZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B38B1.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B38B1.4.LEVEL"/*Rollo_SZ:4.LEVEL*/, 25); } if (getState("hm-rpc.1.001118A98B37E3.0.UNREACH").val == true) { setState("hm-rpc.1.001118A98B37E3.4.LEVEL"/*Rollo_WC:4.LEVEL*/, 25); } }, 60000); } });
  • *gelöst* Timeout verwenden

    Verschoben
    9
    1
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    surfer09S
    Danke Paul, dann werde ich deine Variante verbauen! :)
  • [gelöst] Nach Scripte Import, funktionieren keine Scripte

    Verschoben
    4
    2
    0 Stimmen
    4 Beiträge
    447 Aufrufe
    S
    Ach Mensch Jungs ich bin doch blöde, stimmt ihr habt recht. Hab zwar die CCU2 wiederhergestellt, aber hier will er ja auch die Hue Lampen zurückgreifen und den Adapter hab ich in dem neuen ioBroker Server noch gar nicht konfiguriert. Man man :oops: :oops: :oops: Danke Problem gelöst :lol:
  • If-Bedienungen…

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    Y
    Hey, danke nein kannte ich nicht. Ich muss nochmal nachschauen. Dein Skript funktioniert leider auch nicht, er gibt den bei den Werte Kontakt1, Kontakt2= false den Wert für g_Verschluss_Keller true zurück. Danke für die Hilfe, die Tipps haben mich auf jeden Fall weiter gebracht
  • Blockly - Lightify Lichtwechsel einrichten

    Verschoben
    1
    1
    0 Stimmen
    1 Beiträge
    465 Aufrufe
    Niemand hat geantwortet
  • Probleme mit Javascript Adapter

    Verschoben
    5
    1
    0 Stimmen
    5 Beiträge
    506 Aufrufe
    M
    @Rainer: Hab es komplett gelöscht. Aber Danke Dir für den Hinweis. Gruß Markus
  • [gelöst]Variablen vom gleicher Typ lassen sich nicht laden

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    416 Aufrufe
    paul53P
    Schreibe [gelöst] bitte in den Betreff des <u>ersten</u> Beitrags.

692

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge