Skip to content

Skripten / Logik

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

16.6k Themen 213.8k Beiträge

NEWS

Unterkategorien


  • Hilfe für Skripterstellung mit JavaScript

    2k 49k
    2k Themen
    49k Beiträge
    K
    Hui, da muß ich das Thema nochmal aufwärmen oder eher erweitern. Kann ich denn auch verschwindende Nachrichten generieren ? Ich habe was vom Parameter "expired_time" gehört aber noch kein funktionierendes Script gefunden. Wie geht das? MfG
  • Hilfe für Skripterstellung mit Blockly

    7k 79k
    7k Themen
    79k Beiträge
    Murphy 0M
    Du loggst dich mit Adapter in der Zendure Cloud ein und holst von dort die Werte. Den Key bekommst du in der App. Unten auf Profil und dann auf Authorisierungs Cloud Schlüssel. Das hat mit Offline Bezrieb erst mal nix zu tun. In diesem Modus müsst ihr beachten, dass alle Energieprofile in der App deaktiviert sind.
  • Hilfe für Skripterstellung mit Node-RED

    953 13k
    953 Themen
    13k Beiträge
    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
  • Alle objekte die xxx.color heißen mit Wert yyy belegen

    blockly
    10
    0 Stimmen
    10 Beiträge
    597 Aufrufe
    J
    @paul53 genau so gehts! vielen Dank, ich denk ich habe es nun kapiert:+1:
  • Wie Lautstärke regeln mit SayIt via Sonos?

    multimedia
    1
    0 Stimmen
    1 Beiträge
    156 Aufrufe
    Niemand hat geantwortet
  • Javascript Funktion triggert ungewollt, wie verhindern?

    javascript
    11
    0 Stimmen
    11 Beiträge
    819 Aufrufe
    M
    @spaceduck Kannst du dann bitte Deine Lösung hier dokumentieren. Danke.
  • [gelöst] Daten per Telnet abgreifen.

    communication
    2
    1
    0 Stimmen
    2 Beiträge
    233 Aufrufe
    capitaenzC
    Problem gelöst, habe diesen Code gefunden von www.letscontrolit.com Damit baut man einfach meine (ursprünglich) gewünschte Serial2MQTT Brücke auf. #include <ESP8266WiFi.h> #include <PubSubClient.h> const char* ssid = "SSID"; const char* password = "PWD"; const char* mqtt_server = "192.168.XXX.XXX"; const char* topic_rx = "uart/rx"; const char* topic_tx = "uart/tx"; const byte numChars = 100; char receivedChars[numChars]; // an array to store the received data boolean newData = false; WiFiClient espClient; PubSubClient client(espClient); void setup() { pinMode(BUILTIN_LED, OUTPUT); // Initialize the BUILTIN_LED pin as an output Serial.begin(9600); setup_wifi(); client.setServer(mqtt_server, 1885); client.setCallback(callback); } void setup_wifi() { delay(10); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); } } void callback(char* topic, byte* payload, unsigned int length) { for (int i = 0; i < length; i++) { Serial.print((char)payload[i]); } Serial.println(); } String macToStr(const uint8_t* mac) { String result; for (int i = 0; i < 6; ++i) { result += String(mac[i], 16); if (i < 5) result += ':'; } return result; } void reconnect() { String clientName; clientName += "esp8266-"; uint8_t mac[6]; WiFi.macAddress(mac); clientName += macToStr(mac); clientName += "-"; clientName += String(micros() & 0xff, 16); while (!client.connected()) { if (client.connect((char*) clientName.c_str())) { // random client id digitalWrite(BUILTIN_LED, LOW); // low = high, so this turns on the led client.subscribe(topic_rx); // callback: mqtt bus -> arduino } else { digitalWrite(BUILTIN_LED, HIGH); // high = low, so this turns off the led delay(5000); } } } void loop() { if (!client.connected()) { reconnect(); } client.loop(); recvWithEndMarker(); showNewData(); } void recvWithEndMarker() { static byte ndx = 0; char endMarker = '\n'; char rc; while (Serial.available() > 0 && newData == false) { rc = Serial.read(); if (rc != endMarker) { receivedChars[ndx] = rc; ndx++; if (ndx >= numChars) { ndx = numChars - 1; } } else { receivedChars[ndx] = '\0'; // terminate the string ndx = 0; newData = true; } } } void showNewData() { if (newData == true) { client.publish(topic_tx, receivedChars); // publish: arduino -> mqtt bus newData = false; } }
  • efergy API auslesen und in wert umwandeln

    monitoring
    9
    0 Stimmen
    9 Beiträge
    1k Aufrufe
    S
    @paul53 nach Neustart des Brokers funktioniert es . Dankeschön für die Hilfe.
  • Sonso Coordinator mittels Script setzen

    blockly javascript
    1
    1
    0 Stimmen
    1 Beiträge
    180 Aufrufe
    Niemand hat geantwortet
  • Anrufe auf FritzBox per Telegram auf Handy ankündigen

    blockly
    48
    1
    0 Stimmen
    48 Beiträge
    6k Aufrufe
    I
    Hallo Leute, da mir ja scheinbar keiner sagen kann, wie man (wenn überhaupt) die Anrufankündigungen für ein bestimmtes Telefonbuch (in dem Spamanrufer stehen) ausklammern kann: Wie kann ich sagen, daß Anrufe nur angekündigt werden, wenn im Anrufnamen nicht das Wort "Spam" vorkommt? Danke! EDIT: Habe es endlich hinbekommen. Wenn ich selbst oder einer derer Spammer, die ich in einem extra Telefonbuch in der FritzBox hinterlegt habe, und die alle mit "Arsch", gefolgt von einer Nummer, benamt wurden, bei meiner Mama auf Festnetz anrufen, bekomme ich keine Telegram-Meldung mehr: [image: 1605966324842-bildschirmfoto-2020-11-21-um-14.44.04.jpg]
  • On / Off Frage

    template
    7
    0 Stimmen
    7 Beiträge
    533 Aufrufe
    amg_666A
    @Homoran Auf die Idee muss man erstmal kommen :-)
  • Termine in Google Kalender eintragen

    multimedia javascript node-red
    3
    0 Stimmen
    3 Beiträge
    367 Aufrufe
    Gurke258G
    @MCU Ja hier -> https://developers.google.com/calendar/overview
  • Scripte einzeln oder lang/groß

    blockly javascript
    6
    2
    0 Stimmen
    6 Beiträge
    576 Aufrufe
    dslraserD
    @AlCalzone sagte in Scripte einzeln oder lang/groß: Monster-Blockly 😂✌🙋‍♂️
  • Anwesenheitsscript HZ bei offenem Fenster aussetzen

    heating
    6
    0 Stimmen
    6 Beiträge
    310 Aufrufe
    C
    @Fizh-Kopp Ich gehe davon aus, dass dein FK im iobroker ist. Dann gibt es einen State open, der auf true steht. Ausgehend von deinem Script, würde ich dein if-Statement wie folgt umschreiben... if FK.open.val Thermostat ausschalten else if deine if-statement gefolgt vom bisherigen else. Deinen Trigger wirst du aber auch nochmal überdenken müssen... Stand jetzt, kann das Fenster 4:59 offen sein, bevor der Cron wieder läuft und es erkennt. Auch bleibt dein Thermostat bei 16 stehen, wenn du um 23:00 Uhr das Fenster öffnest. Ich persönlich gehe etwas anders an solche Aufgaben ran. Ich nutze eigene States im iobroker. Mit den Scripten überwache ich diese dann auf Veränderung und reagiere entsprechend darauf. Beispiel: Angenommen es gibt einen State ZielTemperatur. Dann brauchst du ein Script, welche bei einer Änderung des States ZielTemperatur den neuen Wert an das Themostat übermittelt. (Damit ist deine Heizungssteuerung schon mal fast fertig.) Was jetzt noch fehlt, sind Scripte, welche den Wert von ZielTemperatur ändern, in Abhängigkeit von Ereignissen die Eintreten (Fenster offen, An-/Abwesenheit, Uhrzeit) Beispiel: Bei Änderung von ZielTemperatur, neuen Wert an das Thermostat const ZielTemp = "javascript.0.ZielTemperatur"; const idTarget = "fritzdect.0.Comet_14078017xxxx.targettemp"/Target Temp/; //Wohnzimmer on({id: ZielTemp,change:'ne'}, function (obj) { setState(idTarget, obj.state.val); });
  • Datenpunkt Update vor Änderung verarbeiten

    javascript node-red
    2
    0 Stimmen
    2 Beiträge
    227 Aufrufe
    paul53P
    @S84 sagte: Wie kann ich diese 100% verarbeiten/manipulieren BEVOR der Datenpunkt aktualisiert wird. Das ist nicht möglich, es sei denn, man kann den Adapter daran hindern, den Datenpunkt zu setzen. Andernfalls benötigt man einen weiteren Datenpunkt.
  • CRON Trigger

    blockly
    3
    0 Stimmen
    3 Beiträge
    303 Aufrufe
    K
    @paul53 Danke! Schade eigentlich.
  • Routine mit Alexa / Sonoff / Philips Hue / Yeelight

    multimedia javascript
    2
    0 Stimmen
    2 Beiträge
    343 Aufrufe
    M
    @badplay sagte in Routine mit Alexa / Sonoff / Philips Hue / Yeelight: Alternativen Firmware Was bedeutet alternative Firmware ? Tasmota? Welche Version? Wenn ja, dann Sonoff-Adapter installieren. Einstellungen für den Sonoff-Adapter müssen dann zu den einzelnen Steckdosen umgestellt werden. Für Yeelight Lampen gibt es den Yeelight-Controller-Adapter! (Habe ich nicht, weiß nicht, welche Einstellungen notwendig sind, meistens selbsterklärend)
  • Screenshot per Telegram oder Pushover verschicken

    blockly
    2
    0 Stimmen
    2 Beiträge
    351 Aufrufe
    arteckA
    @Darkmann2000 ach komm.. die diskussion gabs sogar letzte woche mit einem Script..als beispiel.. schon die Suche bemüht ?? und dann noch doppel Post...
  • Shelly RGBW2 Geschwindigkeit der Scriptausführung

    blockly
    1
    1
    0 Stimmen
    1 Beiträge
    319 Aufrufe
    Niemand hat geantwortet
  • HM Thermostat runtersteuern bei Fenster auf

    heating
    5
    0 Stimmen
    5 Beiträge
    1k Aufrufe
    T
    @micha86 erstmal vielen dank für dein skript. Ich hätte nur paar kurze Fragen dazu. Wofür steht value-bm-fk-02?
  • MQTT String generell aufteilen?

    javascript
    28
    0 Stimmen
    28 Beiträge
    4k Aufrufe
    R
    @Rushmed Hat niemand ne Idee?
  • Waschmaschinen Script bringt plötzlich fehler

    blockly
    9
    2
    0 Stimmen
    9 Beiträge
    398 Aufrufe
    wendy2702W
    @paul53 mit JS meine ich den JavaScript Adapter der ja Blockly enthält.
  • Neuling benötigt Hilfe beim ersten Script

    blockly
    11
    1
    0 Stimmen
    11 Beiträge
    341 Aufrufe
    S
    @paul53 perfekt Paul53, das wars. Danke!!

325

Online

32.7k

Benutzer

82.4k

Themen

1.3m

Beiträge