Skip to content

Skripten / Logik

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

16.5k Themen 213.2k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    P
    Oben steht, dass der Server öfter mal offline ist. Da ist ping meine erste Idee. Ob der Server auf Pings antwortet, weiß ich nicht. Reagiert der Server nicht auf ping, dann evtl. als Ersatz einen httpcheck nehmen. httpcheck nutze ich auf der Synology, bevor die auf den ioBroker zugreift. # ===== HTTP-Check statt Ping ===== curl -s --connect-timeout 3 "$BASE/system.adapter.admin.0.alive" > /dev/null || exit 1 Ist allerdings ein Bash-Skript. Das muss für die Zwecke angepasst werden.
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    S
    Hallo zusammen, ich möchte in ioBroker eine Alias-Struktur aufbauen, allerdings ohne die bekannten Adapter. Dabei möchte ich vorab herausfinden, welche Datenpunkte durch meine Skripte eigentlich genutzt werden. Ist es möglich, dies durch Bordmittel herauszufinden ? Vielen Dank und Beste Grüße schweiger2
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    S
    welche Palette hast du installiert, damit du den "AND" Baustein hast?
  • Austausch von Werten mit eigener Software

    3
    0 Stimmen
    3 Beiträge
    248 Aufrufe
    Jey CeeJ
    @benejan sagte in Austausch von Werten mit eigener Software: Ich kaufe ein anderes CAN-Modul, für das es einen fertigen Adapter gibt. Habt ihr eine Empfehlung? Es gibt keinen Adapter der eine bestimmte Hardware Unterstützt. CAN Hardware which is supported by the kernel and creates an interface like can0 Quelle: https://github.com/crycode-de/ioBroker.canbus @asgothian sagte in Austausch von Werten mit eigener Software: Nutzen des simple-API adapters. Ich würde da eher den rest-api Adapter empfehlen.
  • Starlink Statistik abfragen ?

    3
    0 Stimmen
    3 Beiträge
    363 Aufrufe
    D3ltoroxpD
    @mcu Hm also zu http://192.168.100.1:9200/metrics geht bei mir keine Seite auf. Nur wenn ich ohne Port die Adresse eingebe, bekomme ich was angezeigt.
  • Nulleinspeisung Anker Solix

    12
    0 Stimmen
    12 Beiträge
    2k Aufrufe
    CodierknechtC
    @homoran Danke Dir. Ich hab's dann offenbar nicht geblickt :-( Nehme alles zurück und behaupte das Gegenteil ... zumindest den Teil mit dem bösen Versorger.
  • [Script] JUDO Wasserenthärtung - Connectivity-Modul API

    javascript
    7
    2
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    S
    @bongo sagte in [Script] JUDO Wasserenthärtung - Connectivity-Modul API: @arteck Hm, der Adapter ist dem Namen nach für JUDO i-soft. Mein gerät ist ein JUDO SOFTwel. Da gibt es zwar Überschneidungen in der API aber vom Namen her würde es nicht passen, was für mich keine Rolle spielen würde. Hallo @Bongo, ich habe die judo i-soft SAFE+ im Einsatz und nutze seit längerer Zeit den JUDO i-soft Adapter von @arteck. Der bietet mir eigentlich alles, was ich für SmartHome und Vis benötige. Allerdings kommen damit folgende Themen auf: Der Adapter läuft nur mit dem alten Connectivity-Modul von judo (das ohne WLAN und ohne API). JUDO hat mir freundlicherweise nach Veröffenlichung auch die neue Modul-Variante zukommen lassen (mit WLAN und API), damit spielt aber leider der Adapter von Arteck nicht mehr. Der Adapter von Arteck läuft nur über Cloud/Portal von judo (kein lokaler Zugriff, keine Funktion mit der neuen API). Leider hat aber das judo-Portal auffällig viele Ausfälle/Down-Zeiten. Ich hatte Arteck mal angeschrieben, ob er nicht den Adapter auf das neue Modul und einen lokaöen Zugriff anpassen könnte (zumal judo sicher in letzter Zeit und künftig nur noch die neuen Connectivity-Module ausliefern wird). Ich verstehe, dass er aber nicht mehr Zeit investieren kann/möchte (zumal er auch mir geschrieben hat, dass er keine Test-Umgebung hat und dass die API so "grottenschlecht" ist). Als ich Dein Skript weiter oben gesehen habe, war ich begeistert: Lokaler Zugriff auf die API des neuen connectivity-Moduls ohne das judo-Portal! Ich hab's mal getestet: Tatsächlich funktionieren einige Datenpunkte für die i-soft SAFE+ schon direkt mit Deinem Script. Idealerweise wollte ich dann Dein Script so anpassen, dass ich auch die anderen Werte, die die i-soft SAFE+ direkt bietet, auslesen kann (zB. Salz-Füllstand in kg und in %), "Reichweite Salz" etc., die API ist ja von JUDO veröffentlicht. Musste aber schnell erkennen, dass meine Javascript-Kenntnisse dafür leider nicht ausreichen... Insofern würde ich Dich gerne im Vorschlag von @arteck bekräftigen, entweder den Adapter anzupassen oder gerne auch eine angepasste Script-Version für die i-soft SAFE+ zu veröffentlichen. Auslesen von Statistik-Daten etc. wären meines Erachtens nicht nötig, dass mache ich zB auch bisher schon mit SourceAnalytix etc. Wenn ich das richtig verstehe, hast Du keine i-soft im Einsatz - Gerne kann ich als "Tester" der Script-Anpassungen unterstützen. Schöne Grüße und schon heute "einen guten Rutsch".
  • Gelöst: Anzahl der Zigbee Geräte ermitteln

    javascript
    22
    0 Stimmen
    22 Beiträge
    1k Aufrufe
    M
    @paul53 Ja Paul das funktioniert. Dankeschön
  • Heizungssteuerung mit Blockly

    11
    1
    0 Stimmen
    11 Beiträge
    928 Aufrufe
    T
    @homoran ja sorry kann ich noch nicht testen da der Estrich noch nicht auf den Rohren ist. Wollte mich nur erstmal vorab mit der Reglung Beschäftigen.
  • Script wird immer mehr verzögert ausgeführt

    21
    2
    0 Stimmen
    21 Beiträge
    2k Aufrufe
    T
    @stein sagte in Script wird immer mehr verzögert ausgeführt: Oh man, ich schäme mich ein bisschen, ich habe grade den Verdacht dass es der openknx adapter ist. Wenn ich einen state von hand (ohne script) änder dauert es auch einige Sekunden bis der state sich ändert. Andersrum kommen aber state Änderungen auf dem bus sofort im iobroker an. Sehe jetzt auch dass die geschrieben states vom iobroker auf dem openknx adapter sehr lange noch rot, also nicht acknowledged sind. Das wird mein Problem sein. Aber warum ist das wohl so? Mach nen neuen Thread auf, KNX ist was ganz anderes als Skripte und dafür brauchst du die Aufmerksamkeit von anderen Leuten, verlinke dann auf den hier. Ich hab davon keine Ahnung :)
  • PHP Script

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    mcm1957M
    Der Thread hat zwar kaum mehr Bezug zum Bereich "Skripten / Logik" aber in jedem Fall sei auch hier ein expliziter Hinweis insbesondeee da wir uns hier nicht im Tester Bereich befinden: Von direkten Installation von GitHub - insbesondere auf produktiven Systemen - wird explizit abgeraten. GitHub Versionen können sich jederzeit (auch kurzfristig) ändern und durchaus auch in sich inkonsistent und fehlerhaft sein. Versionsangaben von GitHub Installationen sind Schall und Rauch da die Versionsnummer zumindest bei Verwendung der standardmäßigen Umgebung erst im Zuge der Releaseerstellung geändert wird. Auf explizite Aufforderung durch den Entwickler kann eine GitHub Installation zur Fehlereingrenzung oder zum Test neuer Funktionalität - unter Inkaufnahme des erhöhten Risikos - natürlich erfolgen. Adapter die nur via GitHub oder npm (also NICHT aus einem der beiden Repositories) installierbar sind sind mit erhöhter Vorsicht zu betrachten. Hier sollte der Entwickler drum ersucht werden eine Aufnahme in die Repositories zu veranlassen indem z.B. ein Issue im Adapterrepository erstellt wird. Und falls es irgendwie unklar ist: ioBroker unterstützt folgende Arten von Installation: aus dem STABLE Repository Das sind Adapter Releases die keine groben Fehler aufweisen (sollten). Natürlich kann es auch dort Fehler geben, die Behebung davon obliegt dem jeweiligen Dev und kann ggF auch dauern. aus dem LATEST Repository Das sind Adapter Releases die neu erstellt wurden und nur rudimentär getestet sind - oft auch als BETA Releases bezeichnet. Releases aus dem LATEST sind primär für unsere zahlreichen freiwilligen Tester gedacht. BETA / LATEST Releases können durchaus Fehler aufweisen - auch wenn ich davon ausgehe dass jeder aintainer dies zu vermeiden versucht. Vom Einsatz auf produktiven Systemen wird abgeraten außer man braucht irgenein neues Feature (z.B. neues Gerät) unbedingt. Hier muss dann jeder Entscheiden was ihm wichtig ist. direkt von GITHUB Von Installationen direkt aus Giuthub wird definitiv abgeraten außer auf Anweisung des Maintainers und für den Fall dass man gemeinsam mit diesem etwas testen will. Details siehe oben. direkt von npm Diese Installation kann erforderlich sein, wenn man eine bestimmte Version installieren möchte / muss. Im Normalfall sollte man direkte npm Installationen ebenso meiden wie direkte GitHub Installationen - ausgenommen um z.B. zu einer bekannten Version downzugraden - obwohl hier wenigstens ein definierter Stand garantiert ist. Adapter die NUR via npm und/oder nur via GitHub installierbar sind sollte man meiden - diese wurden nicht mal einem rudimentären Review unterzogen und sollten mit dem Attribut "vollständig auf eigenes Risiko verwenden" installiert werden. Hier empfiehlt es sich den Developer zu ersuchen eine Aufnahme in die Repos zu veranlassen. Wenn dieser darauf nicht reagiert sollte man von einer eher kurzen und unklaren Lebensdauer des Adapters ausgehen. Support meiner-/unsererseits für solche Adapter ist mit Sicherheit minimalistisch. @mcm1957
  • Script zum auslesen eines C.M.I von TA UVR1611

    Verschoben
    78
    4
    0 Stimmen
    78 Beiträge
    25k Aufrufe
    A
    @andibr und noch die Digitalen Status: [image: 1734784153456-bildschirmfoto-vom-2024-12-21-13-25-27.png] Wieder CMI [image: 1734784233747-bildschirmfoto-vom-2024-12-21-13-30-17.png] Woher ich auch immer die Holdingregister-Adresse her habe, weiss ich echt nicht mehr. Wie bereits geschrieben, dass sind Einstellung die bei mir seit mehr als 1 Jahr einwandfrei in Betrieb sind und die Temperaturwerte verwende ich auch auf eine Vis, die täglich mehrfach benutzt wird, darum weiss ich dass die Werte durch kommen. Ganz wichtig ist das der IOB eben Modbus-Slave ist, weil das CMI immer der Master sein will, und auch nichts anderes kann. Mein CMI hat folgende Version: CMI024152 V1.43.4 - B1.06 - H4.00
  • Berechneter Wert wird von Modbus nicht weiter übergeben

    9
    1
    0 Stimmen
    9 Beiträge
    459 Aufrufe
    HomoranH
    @axmlm sagte in Berechneter Wert wird von Modbus nicht weiter übergeben: So jetzt funktionierts, Natürlich :grin: @axmlm sagte in Berechneter Wert wird von Modbus nicht weiter übergeben: Endlich den Unterschied zwischen "aktualisieren" und "steuern" verstanden. Dann war's ja für alle erfolgreich! da sind aber noch paar aktualisiere drin! Wenn sich dahinter eigene DP verbergen ist das ok, wenn es AdapterDPs sind nicht! EDIT und ein nach Zahl ist aus dem Rahmen gefallen
  • Einfügen von JS-Klassen aus eigenem NPM-Modul

    51
    0 Stimmen
    51 Beiträge
    6k Aufrufe
    U
    Habe für mich mal eine funktionierende Lösung in einem neuen Post aufgeschrieben: https://forum.iobroker.net/topic/78632/info-auslagerung-von-scripte-aus-global-aufs-filesystem
  • (ERLEDIGT!) TypeScript, viele common/global Scripte --> CPU

    55
    0 Stimmen
    55 Beiträge
    7k Aufrufe
    U
    Habe für mich mal eine funktionierende Lösung in einem neuen Post aufgeschrieben: https://forum.iobroker.net/topic/78632/info-auslagerung-von-scripte-aus-global-aufs-filesystem
  • Timer mit flexibler Startzeit

    16
    0 Stimmen
    16 Beiträge
    1k Aufrufe
    Matze RM
    Hi @paul53, vielen Dank für deine Arbeit, dein Weg ist besser. Mir fehlt noch die Erfahrung mit allem aber besonders mit Blockly. Mein Weg war etwas umständlich . Das script war dem ganzen Projekt angepasst. ich werde das morgen dierekt umsetzen danke nochmal und einen schönen Abend LG Maro
  • Letzte Benachrichtigung rausfinden / tipps

    5
    0 Stimmen
    5 Beiträge
    353 Aufrufe
    paul53P
    @xandar31 sagte: eine Nachricht zu bekommen, wenn der Stand auf <100cm fällt und dann erst wieder >100cm. [image: 1733934541700-blockly_temp.jpg] Man sollte allerdings eine Hysterese vorsehen, da sonst bei Schwankung um 100 cm etliche Nachrichten erzeugt werden können. EDIT: Etwa so: [image: 1733934837249-blockly_temp.jpg]
  • Skript im VIS-2 Editor funktioniert nur im Editor

    4
    1
    0 Stimmen
    4 Beiträge
    379 Aufrufe
    OliverIOO
    @vippis Bei vis2 bin ich mir zwar etwas unsicher, aber bei vis1 wird der Skript Reiter sehr früh geladen und ausgeführt. Zu diesem Zeitpunkt existieren in der Regel die Widgets noch nicht. Daher greifen die Anlage der Event Listener ins Leere Eine weitere Alternative, neben dem, was du jetzt gemacht hast, wäre noch, alle Funktionen in den Skript, Reiter und in den HTML Tag über die Event Attribute, wie beispielsweise onClick https://www.w3schools.com/jsref/event_onclick.asp dann die Funktion zu definieren.
  • CSV Datei über VIS downloaden

    6
    0 Stimmen
    6 Beiträge
    480 Aufrufe
    V
    @vippis Man muss halt das Node FS Modul nehmen :)
  • Astro-/Zeitvergleich, Sonnenuntergang != Sonnenuntergang

    21
    4
    0 Stimmen
    21 Beiträge
    1k Aufrufe
    B
    @paul53 Guten Abend, wir hatten eben eine kleine Adventfeier. Daher die Verzögerung. Ja genau das habe ich zur "Goldenen Stunde" ausprobiert und das ist - mit deiner Quelltext-Fund passend - des Rätsels Lösung. Der Trigger triggert auf das Astro-Ereignis und in dem Vergleich wird -1 Minute gerechnet, dann funktioniert es perfekt. Astro "Golden Hour" - Vordach funktioniert, Seitenlich mit Absicht noch nicht umgestellt. 2024-12-08 15:25:17.481 - info: javascript.0 (606) script.js.packages.autoLight.autoLightTrigger: Sonnenuntergang-Trigger um: 15:25:17.480 2024-12-08 15:25:17.500 - info: javascript.0 (606) script.js.packages.autoLight.seitenlicht: Seitenlicht: Beginne autoLightCheck 2024-12-08 15:25:17.501 - info: javascript.0 (606) script.js.packages.autoLight.seitenlicht: autoLightSeitenlicht ist aktiv. Prüfe Zeitrahmen (Sonnenuntergang bis Mitternacht) 2024-12-08 15:25:17.502 - info: javascript.0 (606) script.js.packages.autoLight.seitenlicht: Außerhalb des Zeitrahmens. Schalte Lichter aus. 2024-12-08 15:25:17.502 - info: javascript.0 (606) script.js.packages.autoLight.seitenlicht: Seitenlicht: Ende autoLightCheck 2024-12-08 15:25:17.503 - info: javascript.0 (606) script.js.packages.autoLight.vordach: Vordach: Beginne autoLightCheck 2024-12-08 15:25:17.504 - info: javascript.0 (606) script.js.packages.autoLight.vordach: solarNoon: 15:24:17.478 2024-12-08 15:25:17.505 - info: javascript.0 (606) script.js.packages.autoLight.vordach: CheckAutoLight sagt: 15:25:17.505 2024-12-08 15:25:17.505 - info: javascript.0 (606) script.js.packages.autoLight.vordach: Innerhalb des Zeitrahmens. Schalte Lichter an. 2024-12-08 15:25:17.506 - info: javascript.0 (606) script.js.packages.autoLight.vordach: Vordach: Ende autoLightCheck Ein weiterer Test bzw. die Umstellung auf "Sonnenuntergang" hat auch korrekt funktioniert. Trigger und Ausführung mit Vergleich -1 Minute hat geklappt. Die Frage ist nun, wie man weiter damit umgeht (Nutzer (wie ich) und Entwickler (wie ihr)). Man könnte es als Bug bezeichnen. Man könnte den Quelltext an der Stelle ändern - was das für Auswirkungen haben könnte, habe ich nicht geprüft. Ich wäre auch fein damit, eben eine Zeitspanne zu subtrahieren (Minute, Sekunde etc...). Wäre toll, wenn jemand noch etwas dazu sagen würde. Ich bedanke mich jedenfalls jetzt schon mal für die ausführliche, tolle Hilfe. Können aber gerne weiter über dieses Thema reden.
  • PWM-Display dimmen: Python-Skript sinnvoll steuern

    8
    3
    0 Stimmen
    8 Beiträge
    677 Aufrufe
    E
    @blockmove sagte in PWM-Display dimmen: Python-Skript sinnvoll steuern: @e-i-k-e said in PWM-Display dimmen: Python-Skript sinnvoll steuern: Hat hier jemand eine Idee dazu ? Schmeiss mal den Teil raus # Optional interactive loop try: while True: try: value = input() if value.lower() == "exit": break value = float(value) if value > 100: led.value = 1 elif value < 0: led.value = 0 else: led.value = value / 100 except ValueError: pass sleep(1) except KeyboardInterrupt: # Clean exit on Ctrl+C sys.exit(0) So wie ich es sehe wartet das Script da auf eine Eingabe von der Tastatur. Einfach mal probieren ... Bin nicht so der Python - Raspi - Fachmann. Danke für deinen Vorschlag. Die Eingabeeinforderung wird beendet, allerdings funktioniert das Skript dann nicht mehr - es wird nicht mehr gedimmt.
  • Statusabfrage und Sprachausgabe mittels DFPlayer

    monitoring node-red security communication scenes
    2
    1
    0 Stimmen
    2 Beiträge
    336 Aufrufe
    W
    @helste64 Hallo - wie bekommst du den dfplayer mit mqtt in den iobroker? ich habe keine ahnung und nur ein arduino script?
  • [gelöst] Werte aus HTTP-Request filtern

    Verschoben
    30
    2
    0 Stimmen
    30 Beiträge
    11k Aufrufe
    HomoranH
    @weberk du weisst aber schon, dass der letzte Beitrag 5 und die davor 7+ Jahre alt sind? immerhin ist @daniel81 noch aktiv, während et al. seit Jahren nicht mehr hier im Forum waren.

728

Online

32.6k

Benutzer

82.2k

Themen

1.3m

Beiträge