Weiter zum Inhalt

Skripten / Logik

16.7k Themen 215.9k Beiträge

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

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    3k 50k
    3k Themen
    50k Beiträge
    maxclaudiM
    @Daniel-8 sagte: Aber beides braucht man ja eigentlich nicht... Richtig, beides benötigt man nicht. @Daniel-8 sagte: ....oder gibt es da einen Vorteil? Vorteile mit Cloud-Ersatz-Broker MQTT: MQTT ist komfortabler und schneller, weil es dann nicht reglementiert ist, wie das offizielle lokale MQTT. Es bietet viel mächtigere Möglichkeiten. (Was auch eine Gefahr birgt, wenn man nicht weiß, welche Topics beschrieben werden, was sie als Antwort erwarten usw.) MQTT ist schneller, weil nicht gepollt werden muss. Wenn Werte sich ändern, wird es automatisch published. Man muss nur Änderungen triggern und nicht alle x Sek. die Werte abfragen. WiFi / HTTP(S) wird entlastet. Man bekommt alle wahren Topics und kann Werte setzen, die sonst nicht gesetzt werden können. (Birgt auch eine Gefahr in sich, wenn man wild experimentiert oder Werte setzt, die normaler Weise für Funktionen bestimmt sind, die die Cloud nur im HEMS setzen würde. Am besten man nutzt nur zum Schreiben "properties" wie mit zenSDK.) Vorteil von zenSDK mit Cloud-Ersatz-Broker: Bei der Umstellung erst mal alles bleiben kann wie es ist und läuft dann wirklich lokal. Schneller wie bisher, weil es keine Cloud gibt, die permanent irgendwas abfragen, senden oder "dazwischen funken" kann. zenSDK prüft immer wieder, ob die Verbindung zur Cloud besteht. Das ist sie ja – in Form eines lokalen Brokers. Kann ich es riskieren mit dem direkten mqtt Adapter vom iobroker den Speicher auf lokal umzustellen? Müsste man erst testen. Ich verwende nur mosquitto. Ausgereift, zuverlässig, schlank, ressourcenarm und schnell.. @Daniel-8 sagte: Aber dafür muss ich mir mal Zeit nehmen. Das geht nicht mehr vor dem Urlaub. Schönen Urlaub Deiner Familie und Dir.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Themen
    80k Beiträge
    W
    erledigt
  • Hilfe für Skripterstellung mit Node-RED

    964 13k
    964 Themen
    13k Beiträge
    A
    @OliverIO ich kopiere morgen mal die Meldungen die mir Node-Red auswirft. Es steht meistens, ....ist kein String....
  • Pushover senden mit zeitlichem Versatz

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    2k Aufrufe
    T
    Suchfunktion nutzen, dann muss pix das nicht für dich machen. Er hat hier ein komplettes Skript gepostet.
  • [geloest]Blockly findet das Gerät nicht…

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    808 Aufrufe
    T
    das Problem war , dass das erste Objekt nicht mit dem 2.Objekt übereinstimmte. Gruß Thomas
  • [gelöst] Schalter-Status setzen ohne Auslösen

    Verschoben
    13
    2
    0 Stimmen
    13 Beiträge
    2k Aufrufe
    J
    Erledigt ;)
  • Mit Blockly per Harmony Adapter IR senden (Tasten Druck)

    Verschoben
    13
    0 Stimmen
    13 Beiträge
    3k Aufrufe
    rantanplanR
    UweRLP schreibt gar nicht mehr ob es bei Ihm klappt
  • [|geloest] Javascripte laufen nicht

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    890 Aufrufe
    T
    Jetzt läuft es ! Aus irgendeinen Grund hat sich die ID geändert.
  • Homematic Tür Gong Modul wie sieht das Skript aus?

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    977 Aufrufe
    lobomauL
    @thobastian: sorry, leute. das war vielleicht doch zu allgemein. Ich habe das Homematic Funk gong Modul. Wenn jemand eine Taste (Homematic 8-bit Funksender) drückt, soll der Gong gehen. optional:Außerdem soll eine EMail geschickt werden. Am besten noch gleich mit dem Foto aus der IP-cam soweit so gut. aber wie soll ich das coden? vielleicht sogar in blockly? Ich hätte mal lust dazu…. Vielleicht könnt ihr mir ja helfen, da besser reinzukommen. Schöne grüße Thomas ` Ja, fang ganz simpel an. Hier ein Beispiel. Tür öffnet sich -> Nachricht an telegram: AUF. Tür schließt -> Nachricht an telegram: ZU. Nun musst du nur Tür gegen deinen 8-bit Funksendet tauschen und telegram gegen email. Bei dir brauchst auch nicht "sonst": [image: 1146_unbenannt.jpg]
  • Umlaute im json Element

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    I
    @pix: Weiterhin ist es natürlich auch wünschenswert, Zahlenwerte ohne Einheit in die ioBroker Objekte zu schreiben. So lässt sich über den History Adapter auch eine Datenbasis für Diagramme schaffen. Zur Zeit werden die Werte als String gespeichert. Um das zu erreichen kannst du innerhalb von setState noch parseInt() oder parseFloat() verwenden. Dann sind aber die "Typen" in createState() noch von "string" auch "number" zu ändern und die "unit" entsprechend zu setzen ("°C" oder "m/s"). Gruß Pix ` Hallo Pix, danke für deinen Hinweis, hat funtioniert :) :).
  • Stromverbrauchsrechnung mit NT HT Berücksichtigung - Script

    Verschoben
    30
    0 Stimmen
    30 Beiträge
    7k Aufrufe
    S
    ja, workarounds gibts wohl einige. Ich habe nun aus der Not eine Tugend gemacht und die beiden Geister-Trigger mit ins Boot geholt und zusätzlich noch die cron-Zeiten 15 und 45 Minuten definiert. Daraus entsteht eine viertelstündliche Berechnung des Verbrauchs um h+00,15,30,45 ohne Nullwerte. Ist zwar ein Murks, aber es funktioniert. Die Herkunft der Geister-Trigger ist aber nach wie vor ein Rätsel. Edit 15.8.: Problem gelöst hab das Skript unter anderem Namen nochmals installiert. Seither ist der Fehler nicht mehr aufgetaucht. Eine Erklärung für das Problem habe ich nicht. Entstanden ist es beim Editieren des Skripts bzw. beim Ändern des cron-Eintrags von halbstündlich auf alle 10 Minuten. In der Folge wurde das Skript bei 00 und 30 Minuten doppelt aufgerufen, wodurch ein Delta von 0 entstand. Die Skriptaufrufe dazwischen erfolgten korrekt.
  • PC an/aus | wenn/dann Skript | Szenenkonfiguration

    Verschoben
    17
    0 Stimmen
    17 Beiträge
    4k Aufrufe
    S
    Hat hier jemand zufällig noch eine Idee?
  • Pushover Prozent Wert bei Änderung senden

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    760 Aufrufe
    M
    var idStrahlerStatus = "knx.0.Außenanlage.Außen_100_Meter-Stand.Außen_100M_Strahler_Status_WERT"/*Anwesenheit*/; // anpassen!!! function meldung_push (text, titel, prio) { sendTo("pushover", { message: text, title: titel, priority: prio }); } on({ id: idStrahlerStatus, change: 'ne' }, function (data) { // Status Anwesenheit var idStrahlerWert =getState("knx.0.Außenanlage.Außen_100_Meter-Stand.Außen_100M_Strahler_Status_WERT").val; console.log (idStrahlerWert); var status = '100 Meter Außenstrahler Wert: ', betreff = 'ioBroker Meldung'; status = status + idStrahlerWert; meldung_push(status, betreff, 0); }); So geht es!
  • Gaszähler-Webseite auslesen?

    Verschoben
    16
    0 Stimmen
    16 Beiträge
    3k Aufrufe
    paul53P
    @noxx: wie bekomme ich die Warnung weg? ` Siehe http://forum.iobroker.net/viewtopic.php?f=21&t=7556#p78975.
  • Skript einer 2ten Javainstanz zufügen

    Verschoben
    3
    0 Stimmen
    3 Beiträge
    522 Aufrufe
    C
    Ja es war wieder so nahe liegend . Danke Homorann
  • Email filtern

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    H
    Funktioniert, vielen Dank
  • Wie lasse ich eine if Bedingung regelmäßig prüfen?

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    frankjokeF
    Nur ein kleiner Tipp: Ich verwende für gleiche/ähnliche Beispiele meine 'StateMachine', ein Javascript Programm mit welchem mann einfach State-Machines und sonstige Befehle abarbeiten kann. Einen ersten Versuch einer Beschreibung gibt es da: http://forum.iobroker.net/viewtopic.php … atemachine Eine StateMachiene für das Radio könnte so ausschauen: const Machines = { RadioLichtBad: { _all: { timer: ["BewegungsmelderBad~+", "LichtschalterBad~+"], aus: "LichtschalterBad~-" }, aus: { _onEnter: ["radioBad-", "lichtBad-"], _onExit: ["radioBad+", "lichtBad+"], _default:true }, timer: { _timeout: "aus:30000" } } } Sie reagiert auf Schalter oder Bewegung und schaltet Radio und Licht. Das könnte man erweitern um das Licht natürlich nur bei Dunkelheit zu schalten :) Die ~ bedeutet bei Änderung und +- ein(+)/aus(-). Die Maschine hat 2 States: aus und timer. bei allen states wird '_all:' abgefragt was bedeutet dass beim Einschalten oder bei Bewegung die Maschine auf timer geht und beim ausschalten auf aus. timer selbst geht nach 30 Sekunden auf aus. aus schaltet Lich und Radio ein oder aus je nachdem… Habe so etliche Steuerungen, auch mit Zeiten und lichtabhängig realisiert. p.s.: Irgendwann werd ich das in einen Adapter packen -- wenn BlueFox mir zeigt wie ich den Javascript-Adapter dafür ergänzen oder adaptieren kann....
  • [Implementiert - 1.0.6] getAstroDate(), isAstroDay

    Verschoben
    5
    0 Stimmen
    5 Beiträge
    2k Aufrufe
    F
    Nicht in den allgemeinen Einstellungen? Wo meinst du bei JS? Ich habe es wie folgt eingestellt, aber immer noch : javascript.0 2017-08-08 20:22:14.643 error Longitude or latitude does not set. Cannot use astro. Nachtrag: Ich habe den Haken deaktiviert "aus den Systemsetting" und direkt eingetragen. Jetzt habe ich keinen Fehler mehr.
  • Excel Tabelle einlesen - Probleme mit Umlauten

    Verschoben
    2
    0 Stimmen
    2 Beiträge
    2k Aufrufe
    R
    Hallo, ich denke mal das ist ein unicode problem. Ich habe auch Schwierigkeiten beim ical Adapter, der ließt Buchstaben z.B. als Fragezeichen ein. Ich vermute mal ioBroker unterstütz kein Unicode aber genau können es nur die Entwickler wissen. Andreas
  • StopScript Fehlermeldungen

    Verschoben
    6
    0 Stimmen
    6 Beiträge
    1k Aufrufe
    I
    Hallo zusammen, ich nutze ioBroker bereits seit einigen Monaten und bin bisher sehr begeistert von dem System. Ich habe mir auch einige kleine Java Skripte erstellt, wobei ich immer schon mal als Leser in diesem tollen Forum gestöbert hatte. Jetzt komme ich an einer Stelle nicht so richtig weiter und habe mich nun auch im Forum angemeldet und hoffe, das mir jemand helfen kann. Ich nutze ioBroker auf einem Raspberry Pi3 und habe unter anderem eine Homematic CCU2 mit eingebunden. Bisher hatte ich meine Variablen auf der CCU angelegt und habe vom ioBroker dort rein geschrieben, oder aus gelesen. Jetzt wollte ich einige neue Variablen lieber direkt unter dem javascript Adapter anlegen und bekomme beim setzen eines Wertes folgende Fehler Meldung javascript.0 2017-08-07 11:36:20.646 error change ID is empty: {"common":{"enabled":"mein Wert z.B. 07:35"},"_id":null} also genauso, wie bei anderen auch die dieses Thema eröffnet haben. Der Wert wird korrekt gespeichert. Also ist scheinbar nur der Log falsch. Kann ich da etwas ändern, oder muss ich meine Variable anders anlegen ? Oder muss nur der Log eintrag noch gefixt werden ? Vielen Dank schon mal im vorraus Viele Grüße Sascha
  • Temp.differenz Reglung

    Verschoben
    3
    1
    0 Stimmen
    3 Beiträge
    623 Aufrufe
    N
    Danke werd ich gleich mal testen. Test erfolgreich. :D
  • Blocklyscript im Blocklyscript ausführen

    Verschoben
    8
    0 Stimmen
    8 Beiträge
    1k Aufrufe
    rantanplanR
    @lobomau: Ja, wird nur hieraus gestartet. Da ich kein javascript kann, helfe ich mir da so weiter. ` Das ist die einzige "Ausrede" die ich gelten lasse. :D Sonst würde es keinen Sinn machen. Aber das Thema heist "Blocklyscript im Blocklyscript ausführen" Grüße
  • [gelöst]Skript wird nicht MEHR ausgeführt

    Verschoben
    7
    0 Stimmen
    7 Beiträge
    1k Aufrufe
    S
    Ok, momentan läuft es. Ich melde mich. Nur, warum der Aussetzer da war, lässt sich jetzt im Nachhinein nicht mehr ergründen. Ich warte, bis zum nächsten Ereignis, von dem ich hoffe, dass es nicht mehr auftritt, um es dann ggf. zu ergründen. Danke an alle für die Hilfe.

321

Online

33.0k

Benutzer

83.6k

Themen

1.3m

Beiträge