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
    A
    @as Welches Diagramm verwendest du? Es gibt drei Diagramme, eins für heute, eins für Morgen und eins wo beide Tage drauf sind. Das Skript berücksichtig beide Tage.
  • Hilfe für Skripterstellung mit Blockly

    6k 78k
    6k Themen
    78k Beiträge
    nik82N
    Ich habe eigentlich nur ein nodejs-update gemacht. Habe die Version 20.x gehabt. Jetzt hab ich diesen Stand: [image: 1764226675803-2ff0b0af-89c2-4a22-ba74-a0ef681450e9-image.png] Und seitdem kommt der Fehler. Muss ich denn noch was angeben bei dem HTTP Get Blocky, hab ich da evtl. was vergessen oder sollte das so ok sein? P.S. Javascript Adapter ist auch aktuell auf v9.0.11
  • 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
  • [gelöst] Text oder CSV auslesen, ist das möglich?

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    5k Aufrufe
    T
    ….das war es! Danke! Grüße, Torsten
  • Hilfe!!! Meine Javascript Instanzen arbeiten nicht mehr!!!!

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    835 Aufrufe
    BluefoxB
    fix ist auf dem GitHub. Danke.
  • [gelöst] Noobfrage: Wie Status zu iobroker Objekt bringen?

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    1k Aufrufe
    S
    Es klappt! 1000 Dank! Ich dachte der Name wird erzeugt durch das Feld "Name" und oben unter Topic kommt nur der Pfad rein.
  • Eigenartiger Fehler bei Syntax-check: Too many errors. (xx% scanned).

    Verschoben
    2
    2
    0 Stimmen
    2 Beiträge
    576 Aufrufe
    S
    Hallo, kann den Fehler auch bestätigen. Hängt von der Zahl der Variablen ab. Das Problem trat bei mir bei der Definition von globalen Variablen auf. Habe die Variablen auf mehrere Dateien aufgeteilt. Damit bin ich das Problem erst mal los. Wahrscheinlich kann der Syntax-Checker nur mit einer begrenzten Anzahl von Variablen umgehen.
  • LOG Werte in CSV.Datei exportieren

    Verschoben
    4
    0 Stimmen
    4 Beiträge
    1k Aufrufe
    P
    Das heißt lastchange - letzte Änderung, während ts timestamp die letzte Aktualisierung ist.
  • [gelöst]setTimeout geht nicht

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    4k Aufrufe
    F
    Danke. Da wäre ich nie drauf gekommen.
  • Schedule variabel über Vis ändern?

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    785 Aufrufe
    apollon77A
    Hild das vllt weiter: http://forum.iobroker.net/viewtopic.php?f=21&t=3612&e=1 ?! Oder per Blockly
  • [Gelöst]Über Java ein CMD befehl ausgeben

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    PatrickP
    Perfekt vielen Dank
  • Blockly

    Verschoben
    19
    0 Stimmen
    19 Beiträge
    2k Aufrufe
    rantanplanR
    @Bluefox: Die Idee mit dem XML Auszügen ist so, dass man die nur in der deutschen Version einmal importieren muss und dann hat man übersetztes Bild. Und ein Screenshot ist schon fast fertig. ` Habe ich gerade ausprobiert. Klappt. Eventuelle Komentare übersetzen, Screenshot und fertig. Werde mich ab Freitag mal dransetzten. Grüße
  • Iobroker, Wert von mysensors an CCU übergeben

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    637 Aufrufe
    paul53P
    Das Datenpunktobjekt hat eine falschen "type": "string"; es sollte "type": "number" sein. Außerdem fehlt "unit": "°C". { "common": { "name": "192_168_1_103.0.0_TEMP.V_TEMP", "type": "number", "role": "value.temperature", "min": 0, "def": 0, "read": true, "write": false, "unit": "°C" }, "native": { "ip": "192.168.1.103", "id": "0", "childId": "0", "subType": "S_TEMP", "varType": "V_TEMP", "subTypeNum": 6, "varTypeNum": 0 }, "acl": { "object": 1638, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1638 }, "_id": "mysensors.0.192_168_1_103.0.0_TEMP.V_TEMP", "type": "state" } Wenn die Werte vom Typ "number" sind: setState('hm-rega.0.5237', getState('mysensors.0.192_168_1_103.0.0_TEMP.V_TEMP').val); Wenn die Werte aber vom Typ "string" sind, dann: setState('hm-rega.0.5237', parseFloat(getState('mysensors.0.192_168_1_103.0.0_TEMP.V_TEMP').val)); Den Typ kann man testen: log('Typ: ' + typeof getState('mysensors.0.192_168_1_103.0.0_TEMP.V_TEMP').val);
  • [gelöst] Briefkastenscript: Umzug von der CCU auf ioBroker

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    P
    Hi Pix! Jetzt klappt es! Hab den Arduino so umkonfiguriert das er direkt mit ioBroker spricht! Das Script hab ich auch noch etwas eingekürzt! ! ```` /* ##### Programm zum Erfassen der Briefkasteneinwürfe ########/ / #### Verfasst durch Schneider Johann (PrinzEisenherz1) #######*/ var logging = false; var instanz = 'javascript.0'; instanz = instanz + '.'; var pfad = 'Briefkasten.'; var idSayIt = 'sayit.0.tts.text'; var lautstaerke = 100; var ansagetext = "Post ist da."; var betreff = 'Briefkastenmeldung'; var von = "eMail-Adresse"; // Absender var an = "eMail-Adresse"; // Empfänger /* Erzeugen der nötigen Datenpunkte */ createState(pfad + 'Briefkasten_gefuellt', true, {read: true, write: true, type: 'boolean', name: 'Briefkasten voll in VIS Widget anzeigen', desc: 'Steuervariable für VIS Widget Sichtbarkeit'}); createState(pfad + 'Briefwürfe_zaehlen', 0, {read: true, write: true, type: 'number', name: 'Briefwürfe zählen', desc: 'Counter für Briefwürfe'}); createState(pfad + 'Briefkastensperre', false, {read: true, write: true, type: 'boolean', name: 'Briefkastensperre', desc: 'Sperrt die Zählung der Einwürfe für eine festgelegte Zeit'}); ! /* Abfragen eingestellten Nachrichten-Dienst / / aus=0 ; alle=1 ; Pushover=2 ; Telegram=3 ; eMail=4 */ var pushdienst = 'hm-rega.0.32673'; var pushprio = 0; var idSound = 'bugle'; var idDevice = ''; var TelegramID = 'ChatID'; /* ############## Variablen deklarieren ############################# / var idBriefkasteneinwurf = 'javascript.0.Technikraum.Homeduino.homeduino_001_D27'; var idBriefentnahme = 'javascript.0.Technikraum.Homeduino.homeduino_001_D26'; var idCountEinwurf = instanz + pfad + 'Briefwürfe_zaehlen'; var idSperre = instanz + pfad + 'Briefkastensperre'; var idShowPostIcon = instanz + pfad + 'Briefkasten_gefuellt'; / ######################################################### */ ! /* Deklarieren der Benachrichtigungsdienste / function meldung_push (text, titel, prio, sound, device) { sendTo("pushover", { message: text, title: titel, priority: prio, sound: sound, device: device }); } function meldung_email (from, to, subject, html) { sendTo("email", { from: from, to: to, subject: subject, html: html }); } function meldung_telegram (text, chatID ) { sendTo('telegram.0', { text: text, chatID: chatID }); } ! on({id: idBriefkasteneinwurf, val: 0}, function (obj) { var counter = getState(idCountEinwurf).val; // bisherige Zahl aus Variable einlesen var sperre = getState(idSperre).val; // Zustand Briefkastensperre einlesen setState(idShowPostIcon, true); // Icon für Briefkasteneinwürfe setzen setState('hm-rpc.0.JEQ0087074.15.LED_STATUS', 3); // LED16-Status Orange if(sperre === false){ setState(idCountEinwurf, ++counter); // eins hochzählen if(counter === 1){ Briefkastenmeldung(counter); } else if(counter > 1){ Briefkastenmeldung(counter); } setState(idSperre, true); // Briefkastensperre aktivieren setStateDelayed(idSperre, false, 30000); // Briefkastensperre nach 30.000 ms wieder deaktivieren } }); ! on({id: idBriefentnahme, val: 0}, function (obj) { var clearpost = instanz + pfad + 'Briefwürfe_zaehlen'; // bisherige Zahl aus Variable einlesen setState(clearpost, 0); // Briefkasteneinwürfe löschen setState('hm-rpc.0.JEQ0087074.15.LED_STATUS', 2); // LED16-Status grün setState(idShowPostIcon, false); // Icon für Briefkasteneinwürfe löschen Briefkastenentleerung(); }); ! / ################## Funktion für Meldung bei einem Einwurf ########################## / function Briefkastenmeldung(anzahl) { / Variablen befüllen / var Einwurfanzahl = ((getState(idCountEinwurf).val) +1); / ###### Ausgabe über SayIt und auf der Dreambox PVR600 ####### / setState(idSayIt, lautstaerke + ";" + ansagetext); // Ansagetext über Tablet require('request')("http://192.168.178.90/cgi-bin/xmessage?caption=Postkasten&timeout=0&body=Post&=1"); / ##################################################################### */ var meldung = 'Briefkasten: '; var meldunghtml = ' ! <u>Briefkastenmeldung</u> ! ' + 'Briefkasten: '; if (anzahl === 1){ meldung = meldung + Einwurfanzahl + ' Einwurf! \n\n' + 'ioBroker'; meldunghtml = meldunghtml + Einwurfanzahl + ' Einwurf!' + ' ' + ' ' + ' ' + 'ioBroker' + ' ' + ' ' + ' ' + 'ioBroker' + ''; } /* Nachrichteninhalt für Pushover*/ if ( (getState(pushdienst).val === 2) || (getState(pushdienst).val === 1) ) { meldung_push(meldung, betreff, pushprio, idSound, idDevice); } if ( (getState(pushdienst).val === 2) || (getState(pushdienst).val === 3) || (getState(pushdienst).val === 1) ) { meldung_telegram(meldung, TelegramID); } /* Nachrichteninhalt an email übertragen */ if ( (getState(pushdienst).val === 1) || (getState(pushdienst).val === 4) ) { meldung_email(von, an, betreff, meldunghtml); } if (logging) log('Anzahl Briefkasteneinwürfe an Pushover und eMail übertragen'); } /* ############### Funktion für Meldung bei Entleerung ###################### */ function Briefkastenentleerung() { /* Variablen befüllen */ var meldung2 = 'Briefkasten wurde entleert! \n\n' + 'ioBroker'; var meldunghtml2 = ' >! <u>Briefkastenmeldung</u> >! ' + 'Briefkasten wurde entleert!' + ' ' + ' ' + ' ' + 'ioBroker' + ''; /* Nachrichteninhalt für Pushover*/ if ((getState(pushdienst).val === 2) || (getState(pushdienst).val === 1) ) { meldung_push(meldung2, betreff, pushprio, idSound, idDevice); } if ((getState(pushdienst).val === 2) || (getState(pushdienst).val === 3) || (getState(pushdienst).val === 1) ) { meldung_telegram(meldung2, TelegramID); } /* Nachrichteninhalt an email übertragen */ if ((getState(pushdienst).val === 1) || (getState(pushdienst).val === 4) ) { meldung_email(von, an, betreff, meldunghtml2); } if (logging) log('Briefkastenentleerung an Pushover und eMail übertragen'); }` Sieht hoffentlich jetzt besser aus? *fg* Nochmal vielen Dank! Johnny
  • [gelöst] Nodes einbinden, welche nur Ausgänge haben - astro / suncalc node

    Verschoben
    9
    0 Stimmen
    9 Beiträge
    3k Aufrufe
    BluefoxB
    @RS_Tobi: Kann mir jemand sagen, wie ich den Beitrag als gelöst markiere? gibts einen Button oder muss ich es im Betreff hinein schreiben? Tobi ` Einfach auf editieren beim ersten post drücken und Betreff editieren.
  • Neuling braucht Hilfe: Heizkörperthermostate steuern

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    S
    Danke Ralf, mit Scenes gehts wirklich wesentlich schneller und einfacher. Läuft jetzt :D
  • [gelöst] Between Function

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    723 Aufrufe
    M
    Danke, das mit dem Kaufmanns UND kannte ich nicht. probiere es gleich mal. Danke
  • JavaScript einem VIS Button zuweisen….

    Verschoben
    16
    0 Stimmen
    16 Beiträge
    13k Aufrufe
    N
    Es funktioniert. Habe nichts geändert, aber auf einmal gehts! Vielen Dank für die Hilfe! Gruß Nanouk
  • [gelöst]Pushover und sayit

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    fischi87F
    Danke für die Ansätze. Mit freundlichen Grüßen
  • Nur etwas einmal auslösen beim Neustart von iobroker

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    791 Aufrufe
    S
    Aaah, perfekt, vielen Dank! Klappt! Habe jetzt im Skript nach dem Abschnitt der Variablendeklaration folgendes eingebaut: //############################################################# // Bewässerung zunächst ausschalten beim erstmaligen Skriptstart // um im Falle eines Reboots den zuvor laufenden Bewässerungstimer auszuschalten (Not-Aus), // da er nach Reboot den zuvor gesetzten Ausschalttrigger nicht mehr ausführen kann setState(idHaupthahn, false); setState(idHeckehatti, false); //#############################################################
  • [erledigt]Objekt-Struktur on/subscribe()?

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    S
    Vielen Dank für eure Hilfe. So wie von Paul beschrieben , habe ich es jetzt gemacht und es funktioniert wunderbar!
  • Alle scripte sind verschwunden

    Verschoben
    8
    1
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    fischi87F
    hat nicht funktioniert, die condes bei dem thread funktionieren nicht :-(
  • [gelöst] Status eines Aktors abfragen per Script

    Verschoben
    14
    0 Stimmen
    14 Beiträge
    3k Aufrufe
    HomoranH
    Hallo Alchy @Alchy: Wenn ich mal irgendwann helfen kann, werde ich das natürlich auch hier tun, wenn ich darf. ` Ich freue mich schon drauf. @Alchy: Außerdem schadet es nie, sich mit weiteren Scriptsprachen usw. zu beschäftigen. Man lernt ja nie aus ` Dauernd unterwegs und immer noch nicht ausgelastet. Wenn wir dir hier etwas helfen können, sag Bescheid. Gruß Rainer

589

Online

32.4k

Benutzer

81.5k

Themen

1.3m

Beiträge