Skip to content

Skripten / Logik

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

16.5k Topics 213.4k Posts

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Topics
    49k Posts
    A
    hy ist es möglich die Preisdaten Tibber simulieren Tibberadapter pausiert nu sagt das skript Pausiert-keine Preisdaten! in VIS hab meine aktuellen preise von anderen Anbieter händisch eingetragen jedoch wird nicht damit geregelt was kann da angepasst werden um es wieder zum laufen zu bekommen da die berechnung dahinter mir schon gefällt
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Topics
    79k Posts
    M
    @schweiger2 Übergabe der Daten an command? z.B. DP: hue.0.Hue_Bridge.Schubladen.command {"on":true,"bri":128,"r":255,"g":0,"b":0,"transitiontime":0}
  • 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
  • Suche Hilfe für Visualisierung von mehreren ical Kalendern

    3
    0 Votes
    3 Posts
    232 Views
    T
    @bahnuhr Danke Dir. Kannst Du mir sagen, warum ich das Skript nicht zweimal auf eine Instanz laufen lassen kann? Ich hatte die Schriftgröße verändert. Einmal in Klein => schreibt in Datenpunkt A (für die Übersicht auf der Startseite) und einmal in groß => schreibt in Datenpunkt B (für nur den Stundenplan in groß) Ist es eventuell möglich, das Skript so anzupassen, dass es die Daten nur aus bestimmten Kalender(n) der Instanz zieht? Dann könnte ich mit 12 Instanzen sparen :-) Oder sollte ich diese Frage eher hier https://forum.iobroker.net/topic/26782/ical-kalender-farben-anpassen/82?_=1700046036161 reinstellen?
  • Datenpunkte abfragen und andere damit steuern

    4
    1
    0 Votes
    4 Posts
    345 Views
    paul53P
    @kvn298 sagte: Status_Brunnenpumpe ist ein String. Laut API-Doku ist liefert das Attribut "ison" einen booleschen Wert.
  • Hue Dimmer Switch mit SSL

    4
    1
    0 Votes
    4 Posts
    361 Views
    SchmakusS
    @oli_g sagte in Hue Dimmer Switch mit SSL: Hallo, ich hatte bisher meinen Hue Adapter ohne SSL laufen und Polling aktiviert. Habe einen Hue Dimmer Switch und ein einfaches Test (Blockly) Skript: [image: 1699892485692-6dfd61a4-5c66-4dcc-bd01-ba6cb1cd7213-image.png] Ich möchte einfach bei Druck auf eine Taste eine bestimmte Steckdose (um-)schalten. Das hat mit den o.g. Einstellungen auch funktioniert. Das Test Skript gibt pro Druck auf eine der Tasten genau einen Log Eintrag aus, also bspw. bei Druck auf die obere Taste 1: script.js.Laden.Schalter_Steckdosen_Test: [Schalter] Last Updated: 2023-11-13T16:24:27, Status: 1002 Bei nochmaligem Druck auf die Taste 1: script.js.Laden.Schalter_Steckdosen_Test: [Schalter] Last Updated: 2023-11-13T16:26:03, Status: 1002 Drücke ich dann eine andere Taste, kommt auch genau eine Statusänderung an: script.js.Laden.Schalter_Steckdosen_Test: [Schalter] Last Updated: 2023-11-13T16:27:12, Status: 4002 Schalte ich nun beim Adapter SSL ein und schalte Polling aus, dann passieren bei Druck auf eine Taste offensichtlich zwei Statusupdates: script.js.Laden.Schalter_Steckdosen_Test: [Schalter] Last Updated: 2023-11-13T16:32:45.731Z, Status: 4000 script.js.Laden.Schalter_Steckdosen_Test: [Schalter] Last Updated: 2023-11-13T16:32:45.551Z, Status: 1002 Das erste Update bezieht sich irgendwie auf die zuvor gedrückte Taste, das zweite Update auf die aktuell gedrückte Taste. Aktuell funktioniert das Skript nur ohne SSL mit Pooling ... Kann mir jemand dieses Verhalten erklären? Danke und Grüße Hi, vielleicht kann @foxriver76 etwas dazu sagen. Andernfalls ein Issue auf Github erstellen. Aber was ist der Status 4000, bzw. 0 am Ende? Vielleicht doch alter Status?
  • Hilfe bei Strukturierung von Klassen in TypeScript

    29
    0 Votes
    29 Posts
    2k Views
    T
    ... ... ...
  • [Gelöst]Blockly Variable anlegen und Datenpunkt anlegen

    13
    2
    0 Votes
    13 Posts
    1k Views
    P
    @homoran Werde ich in Zukunft beachten. Habe halt heute gelernt wo man die eigenen Datenpunkte setzen muss.
  • 0 Votes
    7 Posts
    590 Views
    L
    @paul53 sagte in Hilfe bei der Erstellung eines Log Files für die VIS: @ltsalvatore Du hast nicht geschrieben wie die Darstellung in Vis aussehen soll. In einem Log werden die Ereignisse in der Reihenfolge ihres Auftretens protokolliert. Ansatz ohne die zusätzlichen Datenpunkte aus dem ersten Beitrag: const ids = Array.prototype.slice.apply($('*(functions=fenster)')); const idJSON = "0_userdata.0.Fenster.JSON"; var arr = []; if(getState(idJSON).val) arr = JSON.parse(getState(idJSON).val); on(ids, function(dp) { arr.unshift({Name: dp.common.name, Zustand: dp.state.val ? 'offen' : 'geschlossen', seit: formatDate(dp.state.lc, 'DD.MM. hh:mm')}); if(arr.length > 10) arr.pop(); setState(idJSON, JSON.stringify(arr), true); }); Erzeugt wird eine JSON-Table mit dem jüngsten Ereignis zuerst (oben). Danke für dein Feedback. Im VIS soll das Ganze chronologisch von oben nach unten oder von mir aus von unten nach oben dargestellt werden. Wie es bspw. auch beim ical der Fall ist (s.u.). Und in dieser Auflistung der letzten 10 Zustände soll der Wert von zwei Objekten angezeigt werden. In meinem Fall die beiden Objekte window_closed_since_BDZ und window_open_since_BDZ. aber auch nur wenn der Wert nicht gleich 0 ist, weil der Wert gleich 0 mir in der Auflistung nichts bringt. [image: 1699652076347-13cfc232-6a67-4a23-97d2-5e9630948dbf-image.png] Sowas Ähnliches gibt es ja auch bei der mihome app für die Sensoren, aber leider liest der Adapter diese Tabelle nicht aus: [image: 1699652626687-5fe3fac2-aee3-4a37-b027-9b0aea3e4885-image.png]
  • ESP32CAM Bilder mit Intervall auf FTP speichern

    9
    0 Votes
    9 Posts
    1k Views
    MartinPM
    @bärle man kann eine Textdatei verwenden, um ftp zu automatisieren. Siehe https://stackoverflow.com/questions/16158138/how-to-ftp-with-a-batch-file (Zielserver scheint Windows zu sein) Textdatei (abgewandelt) example.txt open 10.155.8.215 user password lcd /D "G:\Subfolder\" cd folder/ binary mput watermeter.jpg disconnect quit Aufruf mit ftp -s:example.txt Dadurch wird example.txt zeilenweise durch FTP abgearbeitet... die Datei "watermeter.jpg" würde natürlich alle 5 Minuten überschrieben, wenn ein neues Foto hereinkommt. Muss man schauen, wenn man das archivieren will ... Jedes Mal eine neue Text Datei mit einem anderen Ziel-Dateinamen erzeugen ist auch nicht gerade toll.
  • Steuerungsbefehle für Heishamon / iQontrol

    1
    1
    0 Votes
    1 Posts
    168 Views
    No one has replied
  • Awattar - die billigsten Strom-Stunden nutzen

    82
    1
    0 Votes
    82 Posts
    15k Views
    O
    @paul53 Ich bedanke mich bei allen Helfern => das Blockly liefert mir die Daten.
  • Datenpunkte sollen bei Ereignis geändert werden

    6
    3
    0 Votes
    6 Posts
    530 Views
    CodierknechtC
    @jones88 sagte in Datenpunkte sollen bei Ereignis geändert werden: Verstehe aktuell nicht wie ich einen Datenpunkt auf einen anderen schauen lassen kann. Du meinst per Java-Script oder wie? Nein. Kein Script. Du hast ja benutzerdefinierte DP in 0_userdata.0 angelegt, in die Du per Script Werte aus anderen DP schreiben willst. Das brauchst Du nicht. Statt der eigenen DP in 0_userdata.0 legst Du welche in alias.0 an und trägst bei denen die Konvertierungsfunktion ein. Die sind also quasi der Ersatz für Deine per Script aktualisierten DP. In der Vis nimmst Du dann die Alias-DP.
  • Hilfe gesucht. Wer kann per Skript E-Mails Parsen oder so?

    7
    0 Votes
    7 Posts
    717 Views
    HomoranH
    es g7bt einen ähnlichen Thread mit emails von ISTA
  • Velux KLF200 über KNX ansteuern klappt nicht

    12
    1
    0 Votes
    12 Posts
    1k Views
    C
    @mibr85 Hi, das Thema ist bereits schon älter, jedoch wollte ich die fragen, ob du auch Probleme mit der Positionsanzeige hast. Ich habe eine Gira X1 und es funktioniert fast alles tadellos... Wenn die Dachfenster jedoch über den eigenen Regensensor schließen, aktualisiert sich meine Statusanzeige im X1 nicht. Hast du bzw. jemand dazu eine Idee bzw. die Lösung. [image: 1699207166725-a6bac8ee-373a-45bd-a134-a2f70a549148-grafik.png]
  • Erledigt! Common/Global-Scripte mit unterschiedl. Instanzen

    9
    0 Votes
    9 Posts
    568 Views
    U
    @bahnuhr Ja war eher ein Fehler dann. Dachte initial, dass es erst einmal 2 Themen waren. Mittlerweilen ist es überlappend. Ich schließe diesen Thread hier. Sorry
  • (Erledigt!) TypeScript Kompilierfehler

    7
    0 Votes
    7 Posts
    641 Views
    U
    @ticaki PERFEKT. DANKE!!! Wirklich vielen Dank.
  • Awattar Adapter - aktueller Preis dieser Stunde

    2
    0 Votes
    2 Posts
    368 Views
    HomoranH
    @peterredl Das Forum ist voll mit solchen Skripten! z.b. https://forum.iobroker.net/post/1068257
  • ESPHome Grillthermometer

    2
    0 Votes
    2 Posts
    594 Views
    B
    @jacke Bist du da schon weiter? Ich suche eigentlich einen Thermometer mit 2 Fühlern die ich auslesen kann. Einen für Kerntemp und einen für den Innenraum des Gasers..... Perfekt wäre Tasmota zb auf einem Esp.
  • 3 Hue Motion Sensoren in einem Raum

    7
    0 Votes
    7 Posts
    843 Views
    R
    @karel-puhli Egal wie ich es programmiert hatte, sind die Lichter immer wieder augegangen, wenn man länger vor dem Rechner sitzen geblieben. Habe die Bewegungsmelder so programmiert das der Ablauftimer immer wieder die anderen Bewegungsmelder unterbrochen hat. Habe dann die Hue Schalter so programmiert, dass wenn ich die Eintaste drücke die Bewegungsmelder deaktiviert wurden und bei der Austaste sie wieder aktiviert werden sollten. Wie gesagt, entweder ist das Licht ausgegangen obwohl jemand im Raum war oder die Lichter haben länger gebrannt als sie sollten, weil niemand mehr im Raum war und man vergessen hatte wieder den BWM mit Tastendruck zu aktivieren. Mit dem Präsenzsensor ist es so perfekt, und die Lichter brennen jetzt nur noch 1 Minute wenn niemand mehr im Raum ist. Bei den BWM musste ich auf 10 Minuten den Timer stellen.
  • Globale Funktionen für Alias Konvertierung?

    19
    0 Votes
    19 Posts
    1k Views
    paul53P
    @xelarep sagte: 0_userdata vermeiden und direkt im Alias konvertieren. new Date(1000 * (val + 60 * new Date().getTimezoneOffset())).toLocaleTimeString('de-DE') ... bezieht sich auf Wandlung Sekunden nach "hh:mm:ss". EDIT(18:15 Uhr): Korrigiert um Zeitzone.
  • Status negiert übertragen

    Moved
    34
    0 Votes
    34 Posts
    4k Views
    HomoranH
    @zimbl sagte in Status negiert übertragen: Beim GPIO..state...switch findet keine Änderung statt.... heisst genau was? https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1 @zimbl sagte in Status negiert übertragen: das Skript scheint nichts zu bewirken... nochmal: @homoran sagte in Status negiert übertragen: welches Skript? @zimbl sagte in Status negiert übertragen: ich kann ihn von Hand aus umschalten...direkt unter Objekte. wie genau? alles zeigen! so istcdas ein großes Rätselraten.
  • MQTT Daten value entfernen

    2
    2
    0 Votes
    2 Posts
    202 Views
    paul53P
    @raue sagte: Kann man dies mit einem script korrigieren. Nicht im Original-Datenpunkt. Mit [Alias](Link Adresse) kommt man ohne Skript aus. Im Alias macht man eine Lesekonvertierung JSON.parse(val).value

656

Online

32.6k

Users

82.3k

Topics

1.3m

Posts