Skip to content

Skripten / Logik

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

16.6k Topics 214.0k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    RoddiEFR
    Ok dann warte ich lieber und fang eine frische Installation an wenn die neue Version fertig ist. Wäre es möglich beim aktuallisieren vom ersten Beitrag auch die Versionsnummern zu ändern wie schon jemand Vorgeschlagen hatte? Das macht das es einfacher wenn Änderungen anliegen. Thx
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    B
    @Murphy-0 Hatte noch nen kleinen Bug, jetzt sieht es schon viel besser aus.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Topics
    13k Posts
    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
  • Homematic Energiemessung Wert extrahieren?

    Moved
    2
    1
    0 Votes
    2 Posts
    478 Views
    G
    Für deinen Fall sehr simpel, wenn Du nur den ersten Zahlenwert haben möchtest. Entweder Du nimmst ein Split-Node, oder du verwendest das Function-Node und schreibst ein kleines Javascript. Dann ist alles in einem Node erledigt. [image: 3639_unbenannt.jpg] Das Script im Function-Node könnte so aussehen: ! ` > var string = msg.payload; msg.payload = parseFloat(string.substr(0, 8)); return msg; `
  • Tasterschaltung

    Moved
    13
    0 Votes
    13 Posts
    2k Views
    S
    Moin. So danke für die Hilfestellung. Habe es mit einfachen AND Bausteinen hinbekommen
  • Verbindung zur NAS vor Backupbeginn prüfen

    Moved
    4
    0 Votes
    4 Posts
    354 Views
    DutchmanD
    Haken bei mit Ergebnis setzen und Dan die Variable "result" auslesen da steht der Response des commando drin –----------------------- Send from mobile device Das schöne ios hat Auto Korrektur zum k**** Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
  • Probleme beim Wandeln von RGB zu HEX

    Moved
    18
    1
    0 Votes
    18 Posts
    3k Views
    R
    @paul53: @rom.wagner80: wodurch werden denn die drei Hexadezimalen werte erzeugt? ` setState ("javascript.0.Geraete.YAHKA.r1"/*r1*/, Math.round(255 * r)); setState ("javascript.0.Geraete.YAHKA.g1"/*g1*/, Math.round(255 * g)); setState ("javascript.0.Geraete.YAHKA.b1"/*b1*/, Math.round(255 * b)); siehe erster Beitrag. ` Okay. Dann werde ich mal schauen, wie ich das Problem elegant gelöst bekomme. Werde mich dann hier wieder melden, wenn das Problem behoben ist oder ich neue Probleme habe [emoji6] Dank dir erstmal für deine Hilfe - wieder mal [emoji51] Gesendet von iPhone mit Tapatalk
  • Blockly Skripte mit Zeitspanne

    Moved
    7
    0 Votes
    7 Posts
    3k Views
    paul53P
    @rantanplan: Bei Deiner Zeitabfrage liegt ein Tageswechsel vor. Das funtioniert so nicht. Da musst Du zwei Abfragen machen. "Zeit zwischen 20:00 und 23:59" ODER "Zeit zwischen 00:00 und 07:00" ` Alternativ "Zeit <u>nicht zwischen</u> 7:00 und 20:00". Mit reinen Uhrzeiten funktioniert aber auch die Version "Zeit zwischen 20:00 und 7:00", nur mit Zeiten, die ein Datum enthalten (z.B. Astrozeiten) nicht.
  • State Änderung fehlgeschlagen

    Moved
    3
    0 Votes
    3 Posts
    397 Views
    H
    Du bist ein Held! Danke!
  • [gelöst] JSON-Tabelle mit js.script triggern

    Moved
    23
    0 Votes
    23 Posts
    2k Views
    S
    so, nachdem ich das script nun einige Tage testen konnte, ist doch noch ein kleines Problem aufgetaucht. Ich habe für meine beiden Bewässerungskreisläufe jeweils ein script zu laufen. Nun wollte benötige ich die Möglichkeit die scripte via Widget zu starten und zu stoppen. und zwar mit bei scripts mit nur einem Schalter. es gibt zwar die möglichkeit ein script via "scriptEnabled.common.Bewaesserung.Timestamp_Ventil1" zu starten und zu stoppen aber das klappt nicht aus einen script heraus um zwei Scripte (scriptEnabled.common.Bewaesserung.Timestamp_Ventil1 + scriptEnabled.common.Bewaesserung.Timestamp_Ventil2) zu "schalten" also wollte ich das die Funktion innerhalb des Scripts nur bei eingeschaltetem Datenpunkt läuft on({id: "javascript.0.Bewässerung.Trigger_Semi_Automatic"/*Trigger_Semi_Automatic*/, val: true}, function (obj) { zeiten(); // Skriptstart schedule('1 0 * * *', zeiten); // kurz nach Mitternacht // Änderung des JSON-Strings on(idJSON, function(dp) { json = dp.state.val; zeiten(); }); }); die Funktion Zeiten wird aber nun auch ausgeführt wernn der Datenpunkt "javascript.0.Bewässerung.Trigger_Semi_Automatic" auf false steht. hab ich noch irgendetwas falsch verstanden?
  • [FRAGE] HTML5-Gauge-Meter-Plugin in ioBroker nutzen?

    Moved
    1
    0 Votes
    1 Posts
    444 Views
    No one has replied
  • Openweather API

    Moved
    11
    1
    0 Votes
    11 Posts
    7k Views
    C
    Hallo, ich nutze die openweather API und möchte mir Sonnenaufgang/-untergang anzeigen lassen. Ich habe nach diese Anleitung benutzt, funktioniert auch alles soweit. Habe lediglich noch das Problem das ich derzeit -2 Stunden Zeitverschiebung habe in der Anzeige. Ich weiß das es sich hier um die UTC Zeitangabe handelt. Wie bringe ich meinem Node Red bzw dem Raspberry bei meine Zeitzone bei der Berechnung zu berücksichtigen? Die Zeitzone am Raspberry ist richtig eingestellt.
  • [Gelöst] Math.round einbinden in bestehende Funktion

    Moved
    10
    0 Votes
    10 Posts
    1k Views
    R
    @paul53: @rom.wagner80: Die Werte werden sauber als RGB-Werte raus gegeben. dann kommt dahinter folgender Code zum Wandeln von RGB in Hex. und da scheint irgendetwas schief zu gehen… erstmal nimmt der RGB-Stripe die richtige Farbe an und dann nach ein paar Sekunden "Fadet" der Hex-Wert und es wird eine komplett andere Farbe dargestellt.... woran könnte das liegen ? ` Das gehört nicht mehr zum Thema "Math.round einbinden in bestehende Funktion". Mache dazu bitte ein neues Thema auf. Füge zum Testen mal vor dem setState() ein Log ein log('#' + toHex(R) + toHex(G) + toHex(B)); ```` ` Dann werde ich mal einen neuen Beitrag aufmachen. Danke Hier gehts weiter ! viewtopic.php?f=21&t=13730/spoiler] ! Gesendet von iPhone mit Tapatalk
  • Blockly-Symbol für ODER-Verknüpfungen

    Moved blockly
    3
    3
    0 Votes
    3 Posts
    2k Views
    H
    Danke. Rechter Mausklick war der entscheidende Hinweis. Es heisst "Externe Eingänge".
  • [Gelöst] Verständnis frage : Timeouts innerhalb Funktionen

    Moved
    4
    0 Votes
    4 Posts
    934 Views
    DutchmanD
    Hmm der Fehler sitzt wohl an der Tastatur ich werde mein script nochmal gründlich überschauen. Da dies ziemlich Gross ist haben ich zum Testen der timer und time reset mal ein einfacheres erstellt mit 2 scenarien: timer_1 wird gestartet innerhalb einer function und reset über eine 2te function Timer_2 wird gestartet innerhalb einer Function und reset innerhalb der IF abfrage Beide timer und deren resets funktionieren wie erwartet, da hab ich mich bei dem anderen script wohl in der login verhauen. Danke euch ! Mein Code wer es testen/nachspielen möchte : var timeout_2, timeout_1; /** * TimeOut_Test_2 mit reset außerhalb der function */ function TimeOut_Test_2() { timeout_2 = setTimeout(function () { console.log('TimeOut_Test_2 activiert nach 10 sekunden'); }, 10000); } /** * TimeOut_Test_1 Timer innerhalb einer function */ function TimeOut_Test_1() { timeout_1 = setTimeout(function () { console.log('TimeOut_Test_1 activiert nach 10 sekunden'); }, 10000); } /** * TimeOut_Test_1 reset innerhalb einer function */ function TimeOut_Test_1_Clear() { (function () {if (timeout_1) {clearTimeout(timeout_1); timeout_1 = null;}})(); console.log('TimeOut_Test_1_deactiviert '); } on({id: "javascript.1.Test_Switch"/*Test_Switch*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("javascript.1.Test_Switch").val == true) { console.log('Timeout aktiviert starte nach 10 sekunden'); TimeOut_Test_1(); TimeOut_Test_2(); } else { (function () {if (timeout_2) {clearTimeout(timeout_2); timeout_2 = null;}})(); console.log('Timeout deactivieren'); TimeOut_Test_1_Clear(); } }); Log Ausgabe : javascript.1 2018-04-25 13:26:08.036 info script.js.common.palletkachel.Test_Script_Timer: TimeOut_Test_1_deactiviert javascript.1 2018-04-25 13:26:08.035 info script.js.common.palletkachel.Test_Script_Timer: Timeout deactivieren javascript.1 2018-04-25 13:26:04.385 info script.js.common.palletkachel.Test_Script_Timer: Timeout aktiviert starte nach 10 sekunden
  • Per Blockly Skript Status schicken

    Moved
    24
    0 Votes
    24 Posts
    5k Views
    DutchmanD
    Zeichne den Wert doch Mal mit History oder andere logging auf über 24 Stunden und vergleiche ob der wert übereinstimmt. Währe aber zufällig wen er immer gleich ist Frage also ob das object sich überhaupt aktualisiert. Der Block "Wert von object" liest ja 1:1 den jetzigen Wert aus. –----------------------- Send from mobile device Das schöne ios hat Auto Korrektur zum k**** Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community
  • [Gelöst] HSL zu RGB konvertieren

    Moved
    4
    0 Votes
    4 Posts
    785 Views
    wendy2702W
    Kannst du dann noch bitte vor den Titel im ersten Post ein```` [Gelöst] Danke!
  • (gelöst)Warn Homematic Rolladen Ansteuerung BLOCKY

    Moved
    4
    0 Votes
    4 Posts
    611 Views
    D
    Sorry für meine späte Antwort. Danke für den Tipp mit den Zahlen statt string.
  • [Beantwortet] Systemdaten von anderem Raspberry Pi auslesen

    Moved
    8
    0 Votes
    8 Posts
    2k Views
    wendy2702W
    Ich habe bisher 3 Slave Installationen (PI3) zusätzlich zu meinem Host laufen. Allerdings eher weniger wegen Lastverteilung sondern vielmehr weil mein Host auf dem Speicher steht, ich aber z.B, meinen Stromzähler im Hauswirtschaftsraum auslesen möchte etc. Auf einem läuft iobroker auch mit PiVCCU bisher Problemlos. Für mich war die Einfachheit der CCU FW Upgrade und Übernahme der Daten CCU2 bei PiVCCU entscheidend. Bei YAHM bin ich irgendwie an der Installation gescheitert und einen ganzen PI nur für CCU2 - Raspberrymatic zu „verschwenden“ wollte ich nicht.
  • 0 Votes
    1 Posts
    261 Views
    No one has replied
  • Blockly-Script triggert dauerhaft nach Auslösung

    Moved
    2
    1
    0 Votes
    2 Posts
    505 Views
    BuZZyB
    Hallo, ich verwende zwar keine sonoffs aber: Womit läuft das Log denn über? Sind es eventuell gar keine Meldungen von diesem Script sondern vom sonoff Adapter oder so? Ich sehe in diesem Script nämlich nichts, was "von selbst" einen Eintrag im Log auslösen würde.. Gruß
  • Alle Objekte unterhalb von x auslesen

    Moved
    2
    0 Votes
    2 Posts
    634 Views
    foxriver76F
    Siehe z. B. Beispielskript: http://www.iobroker.net/docu/?page_id=3641&lang=de Selector Doku: http://www.iobroker.net/docu/?page_id=5 … 1_Selector Mit dem Selector holst du dir die Elemente in eine Liste und fragst simpel die Länge ab. beste Grüße fox
  • [Frage] Schedule canceln -> Fehler im Log

    Moved
    4
    0 Votes
    4 Posts
    345 Views
    apollon77A
    Aktuell nicht das ich wüsste

453

Online

32.7k

Users

82.5k

Topics

1.3m

Posts