Skip to content

Skripten / Logik

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

16.6k Themen 213.9k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    portyP
    Erstmal vielen Dank für das Script @schimi ! Habe Gestern meine 2400AC mit bekommen und direkt mit mit dem Script in Betrieb genommen. Die Ladereglung funktioniert wunderbar, auch die 0-punkt Entladung. Was jedoch nicht klappt ist das automatische umschalten zwischen Input / Output Mode. Ich habe versuchsweise den Mode am Abend von Hand in der App umgeschaltet, das geht natürlich und das Script regelt dann auch schön. Warum das der AcMode jedoch nicht automatisch umgeschaltet wird habe ich noch nicht raus gefunden. Hat da vielleicht jemand eine Idee? // --- ZENDURE MQTT BASISDATEN --- const MQTT_BASE_PATH = "mqtt.0.Zendure"; const DEVICE_ID = "HOxxxxxxxxxxxxx8"; -------- netz: "smartmeter.0.1-0:16_7_0__255.value", [image: 1773520269753-mqtt.png]
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    Murphy 0M
    Viel Spaß
  • 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
  • USV in ioBroker integrieren

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    3k Aufrufe
    apollon77A
    Wo liesst Du da das es nur localhost geht, da steht "Nutze 127.0.0.1 wennn dein Nut Server lokal läuft". Installiere Nut-Adapter doch mal dann sieh in die Konfiguration und Deine Frage beantwortet sich aber mal sowas von ganz alleine :-) Na klar kannst Du da eine IP angeben … jede die Du willst
  • [Frage] LED Dimmen und Farbwechsel mit Alexa

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    345 Aufrufe
    Niemand hat geantwortet
  • Scriptadapter Editierfenster: Skriptinhalt wird nicht angezeigt

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    200 Aufrufe
    wendy2702W
    Mal mit Google Chrome versucht? Mal Browser Cache gelöscht? Mal im Browser Forced Reload versucht STRG+F5 ?
  • Anfänger braucht Hilfe bei einem Script

    Verschoben
    12
    0 Stimmen
    12 Beiträge
    1k Aufrufe
    T
    Ich versuche gerade hinter den Code zu steigen, um ihn zu verstehen. Da JSON noch Neuland für mich ist, verstehe ich natürlich noch nicht alles. var pre='javascript.0.Verkehr.Richtung_MG.'; var ka=['Haltestelle', 'Linie', 'Startzeit', 'Verspaetung']; for( var i=0,json='['; i<4; i++ ) { json+='{"Ziehaltestelle":"' + getState(pre+ka[0]+i.toString() ).val + '","Linie":"' + getState(pre+ka[1]+i.toString() ).val + '","Uhrzeit":"' +getState(pre+ka[2]+i.toString() ).val + '","Verspätung":"' +getState(pre+ka[3]+i.toString() ).val + '"};'; } json=json.substr( 0, json.length-1 ) + ']'; Was ich noch nicht verstehe, was genau bedeutet.toString()und```` .val
  • SetObject mit Option "Parent" möglich?

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    454 Aufrufe
    apollon77A
    vllt / durch - ersetzen oder so
  • Blockly: Hinweis wenn Fenster offen mit Wiederholung

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    2k Aufrufe
    paul53P
    @Ja.rod: Greift hier nicht die Bedingung "Intervall Stop" um das Intervall zu beenden wenn das Fenster geschlossen wurde? ` Sollte eigentlich funktionieren. Weshalb machst Du es nicht wie im verlinkten Beispiel ? stop timeout und stop zyklische Ausführung Intervall, wenn das Fenster geschlossen wird.
  • [Gelöst] Lampe bei TV gedimmt an

    Verschoben
    22
    1
    0 Stimmen
    22 Beiträge
    2k Aufrufe
    dslraserD
    Nein, beim falls Wert jeweils ein und Baustein einfügen und dann den Lichtwert überprüfen lassen ob schon an oder aus. Beim einschalten der Activity oder eben Deines Triggers quasi überprüfen ob das Lich unwahr ist, dann einschalten, beim ausschalten umgekehrt. PS: lösche falls läuft betrifft nur die Verzögerung
  • Mal wieder Waschmachine ;)

    Verschoben
    6
    2
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    R
    Moin Moin, mittlerweile habe ich das Programm der Waschmaschine lokalisiert was Probleme macht. Leider will Flot heute ncht so wie ich das gerne hätte , hat sich aufgehängt. Bleibe aber dran. habe meinen Schwellenwert auf 2 Watt gelegt und die Zeit auf 1 min. so klappt das mit den "normalen" Programmen. Mit dem Program ECO wasauchimmer ;) also Sparprogramm das ewig dauert, gibt es Probleme da es gleich nach 20 min meldet "Waschmaschine fertig" . Der momentane Wert liegt bei 1,64 Wattund die Maschine läuft noch. Schau mer mal was ich dann in Flot sehe. Meine History Daten speichere ich auf ner NAS im Netzwerk, gibt es andere Programme die mit diesen Daten zurechtkommen?? Unter dem Reiter Tabele in history sehe ich auch nix ausser "lädt"….kann ich wärend des Log Vorgangs keine Daten sehen?? oder liegt das evtl am Speicherort?? edit history kann mein NAS nicht mehr mounten, die ganze Zeit hats funktioniert grrrrrr da kuck ich morgen, muß bald auf Arbeit, Linux macht mich wahnsinnig mt den Berechtigungen. Als Anfänger is das alles ein bissel viel. 7878_history.jpg
  • Button in der TopBar

    Verschoben
    1
    0 Stimmen
    1 Beiträge
    163 Aufrufe
    Niemand hat geantwortet
  • Datenpunkt-Updatezeit im Script auslesen

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    662 Aufrufe
    X
    Hallo paul53, danke, das war der entscheidende Hinweis :idea:! Funktioniert super! Ich konnte nun meinen Hilfsdatenpunkt wieder löschen. [image: 9142_taster5event_neu.png] lässt sich so leicht auch auf weitere longpressevents erweitern wünsche einen schönen Abend!
  • Problem: File erstellen funktioniert nicht

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    M
    oder - was mir passiert ist - Du hast den falschen Node platziert. Der Read Node sieht fast genauso aus wieder Write Node. Vielleicht überprüfst Du das mal.
  • Waschmaschinen Blockly problem

    Verschoben
    6
    3
    0 Stimmen
    6 Beiträge
    808 Aufrufe
    M
    @wendy2702: Dann Debug blöcke einfügen und schauen ob das script etwas macht. ` Wo genau soll ich das machen? im Blockly? wo da genau?
  • Blocky und iot.0 –> im Script als cloud.0

    Verschoben
    2
    2
    0 Stimmen
    2 Beiträge
    262 Aufrufe
    D
    könnte der Grund sein warum ich über IFTTT keine Nachrichten mehr bekomme. Mit dem alten Cloud Adapter den ich parallel noch laufen haben für die IFTTT Anbindung meiner Frau, kommen die Nachrichten. Allerdings bin ich mir sicher, dass ich auch schon an IFTTT Webhooks senden konnte die dann als Nachricht auf meinem Handy auch angezeigt wurden. Warum es jetzt nicht mehr geht…. Bitte anpassen falls das der Grund für die nicht Zustellung ist.
  • Bekomme immerm die Meldung: Cannot extract Blockly code

    Verschoben
    4
    1
    0 Stimmen
    4 Beiträge
    808 Aufrufe
    L
    Ich habe das gleiche Problem und komme nicht weiter. Vielleicht kann mir hier jemand helfen. var timeout1, timeout2, timeout3, timeout4; // Abfrage nach Schicht mit Sonnenuntergang schedule({astro: "sunset", shift: 0}, function () { if (getState("tr-064.0.devices.Galaxy-S8-Tobi.active").val == true && getState("ical.0.events.0.today.Frühschicht").val == true && compareTime("15:00", "21:00", "between")) { timeout1 = setTimeout(function () { setState("tuya.0.042001026001947e95c5.1"/*switch_on*/, true); sendTo("telegram", "send", { text: 'Ecklampe eingeschaltet, Frühschicht erkannt' }); (function () {if (timeout1) {clearTimeout(timeout1); timeout1 = null;}})(); }, 30000); } else if (getState("tr-064.0.devices.Galaxy-S8-Tobi.active").val == true && getState("ical.0.events.0.today.Nachtschicht").val == true && compareTime("15:00", "21:00", "between")) { timeout2 = setTimeout(function () { setState("tuya.0.042001026001947e95c5.1"/*switch_on*/, true); sendTo("telegram", "send", { text: 'Ecklampe eingeschaltet, Nachtschich erkannt' }); (function () {if (timeout2) {clearTimeout(timeout2); timeout2 = null;}})(); }, 30000); } else if (getState("tr-064.0.devices.Galaxy-S8-Tobi.active").val == true && getState("ical.0.events.0.today.Frühschicht").val == false && getState("ical.0.events.0.today.Nachtschicht").val == false && getState("ical.0.events.0.today.Spätschicht").val == false && compareTime("15:00", "21:00", "between")) { timeout3 = setTimeout(function () { setState("tuya.0.042001026001947e95c5.1"/*switch_on*/, true); sendTo("telegram", "send", { text: 'Ecklampe eingeschaltet, keine Schicht_1' }); (function () {if (timeout3) {clearTimeout(timeout3); timeout3 = null;}})(); }, 30000); } else if (getState("tr-064.0.devices.Galaxy-S8-Tobi.active").val == true && compareTime("15:00", "23:00", "between")) { timeout4 = setTimeout(function () { setState("tuya.0.042001026001947e95c5.1"/*switch_on*/, true); sendTo("telegram", "send", { text: 'Ecklampe eingeschaltet, keine Schicht_2' }); (function () {if (timeout4) {clearTimeout(timeout4); timeout4 = null;}})(); }, 30000); } }); [image: 6866_iobroker_blockly_extract.png]
  • RS232 über COM-Server

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    B
    Hallo ich weis, dass hier gilt als abgeschlossen, aber ich bin total neu hier und ich kann mir nichts daraus zusammen reimen. Seit einiger Zeit bin ich total angefixt von der Idee meinen Heizung (ETA SH20) auszulesen und im IOBroker darzustellen. Wie gesagt ich habe eine ETA SH20 aber nicht mit dem Touch display und Netzwerkanbindung, meiner hat noch die RS232 Schnittstelle. Im Web bin ich schon auf Lösungsansätze zu diesem Thema gestoßen (mit Z-Board und C+ Programmierung, oder IP-Symcon), bin aber nicht in der Lage dies so umzusetzen. Um das ganze anzugreifen habe ich mir schon auf einen Raspberry 2b IOBroker aufgesetzt, und um die Distanz zwischen Heitzraum und Haus zu überbrücken eine RS232-Seriell-zu-Ethernet-Konverter Modell: USR-TCP232-302 geholt. Die RS232 Parameter des ETA (Boundrate; …) und das Protokoll wie ETA die Daten zur Verfügung stellt habe ich bereits in einem anderen Forum erlesen. Könntet ihr euch vorstellen das auch im IOBroker umzusetzen? Und wenn ja würdet ihr mir dabei helfen? Denn mit Programmieren etc. ist bei mir nicht weit her. Für eure Hilfe wäre ich sehr dankbar.
  • Skripte werden nicht gefunden beim Auswählen in Skripten

    Verschoben
    15
    1
    0 Stimmen
    15 Beiträge
    1k Aufrufe
    S
    ok dann versuche ich mich an der empfohlenen Methode :)
  • Cron aus Skript neu starten

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    383 Aufrufe
    CKMartensC
    Ich habe es jetzt mal mit einem Skript getestet. Der Shedule der bei Änderung des Zeitpunktes über einen Datenpunkt erstellt wird, wird zwar gestartet, aber der ursprüngliche Shedule bleibt bestehen und läuft weiter. Ich muss also mit clearSchedule den "alten" Schedule löschen.
  • Exec funktioniert in Blockly nicht [gelöst]

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    3k Aufrufe
    J
    ok, ich nehme alles zurück… Es funktioniert wieder. Dennoch will ich hier keinen verarschen oder die Zeit stehlen und ich hätte mir nicht die Mühe gemacht hier ins Forum zu schreiben wenn es vorher nicht geklappt hätte. Ich muss gerade eben unbeabsichtigt etwas "richtig" gemacht haben. Habe vor ein paar Tagen alles (rasp und ibroker) neu aufgesetzt und alle Skripte wieder in den Java Adapter importiert. [image: 9043_hauptskript.jpg] siehe hauptskript -> WOL hat nicht mehr funktioniert -> also ein eigenes skript erstellt und nur das "Blockly exec" eingefügt: [image: 9043_blockly.jpg] hat ebenso nicht funktioniert das gleiche in Java erstellt: [image: 9043_java.jpg] -> hat funktioniert Jetzt funktioniert das Blockly auch wieder und das Hauptskript ebenso… Habe zuvor alles probiert. Zweiten Java Adapter installiert/Befehl über LXterminal ausgeführt ob da ein Fehler ist/ alle Adapter neugestartet/rasp rebootet/etc/ssh neu aktiviert...(bastle jetzt schon etwas länger an dem Zeug) (der exec Haken war gesetzt) KEINE AHNUNG was das jetzt war Mir ist aufgefallen wenn man "leere" Blockly Skripte (die ich oftmals als virtuellen Schalter nutze) nach dem neu aufsetzen importiere das das kein Blockly mehr sind sondern ein JAVA. -> Das hat zur Folge das ein anderes Skript das mit diesem Skript verknüpft ist nicht mehr auf das Skript reagiert, d.h. man muss das "Objekt" neu zuordnen obwohl sich nichts ändert -> danach funktioniert es wieder. Eventuell hing es damit zusammen. Das Hauptskript habe ich ja nicht verändert und es hat vorher schon einige Zeit problemlos funktioniert! Trotzdem Danke!
  • [Blockly] owntracks - Zone true oder false

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    394 Aufrufe
    X
    Ich weiß zwar nicht direkt ob es eine Integration vom Owntracks Adapter zum Places Adapter gibt, aber ich persönlich nutze den Places Adapter für die Interpretation von Standortdaten, da der Adapter darauf ausgelegt ist aus diversten Quellen mit Daten gefüttert zu werden und selbst wenn sich die Datenquelle ändern sollte braucht man keine Scripts anzupassen. Der Places Adapter bietet die Datenpunkte als Boolean (true/false) für die definierten Zonen.
  • (gelöst) [Blockly] Lampe soll mitgeschaltet werden…

    Verschoben
    4
    2
    0 Stimmen
    4 Beiträge
    474 Aufrufe
    E
    Ha, vielen Dank, das hat geholfen, warum auch immer :D

310

Online

32.7k

Benutzer

82.5k

Themen

1.3m

Beiträge