Skip to content

Skripten / Logik

16.6k Topics 214.2k Posts

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

NEWS

Subcategories


  • Hilfe für Skripterstellung mit JavaScript

    3k 49k
    3k Topics
    49k Posts
    ofri2607O
    @legro Ich nutze das schon seit einiger Zeit ohne jegliche Probleme. Mittlerweile habe ich mehr als 20 Module (als Klassen, Factory-Functions oder Closures) so ausgelagert und es läuft sehr zuverlässig und gibt aus meiner Sicht viel mehr Struktur in den Skripten. Da es ja eigentlich nur den Spiegelpfad aus dem Javascript-Adapter nutzt, denke ich auch nicht, dass es so einfach nicht mehr funktionieren würde. Das einzig was etwas lästig ist, ist dass erforderliche Neustarten der Javascript-Instanz nach einer Änderung in einem Modul. Das ist aber bei den globalen Skripten im Wesentlichen ja auch so. Dies ist auch mit einer der Gründe warum bei mir der Javascript-Adapter mit mittlerweile 5 Instanzen auf einem Raspi 4 (8 GB) als Slave läuft. Damit kann ich das halbwegs gut strukturieren, dass beim jeweiligen Instanzneustart nicht alle Skripte immer neu starten. Was bei der Aufteilung auch problemlos funktioniert ist, dass das Hauptskript (das Skript das require aufruft) nicht in der selben Instanz sein muss wie das Modul, das funktioniert kreuz und quer.
  • Hilfe für Skripterstellung mit Blockly

    7k 80k
    7k Topics
    80k Posts
    amg_666A
    Kann hier mal jemand drauschauen und mir einen Tipp geben? Ich stehe irgendwie auf dem Schlauch und finde den Fehler nicht: Blockly Skript soll bei den Spritpreisen "meiner" Tankstelle auch jeweils das Tagesminimum und Maximum berechnen. Das Skript läuft seit Ewigkeiten und macht seit letztem Mittwoch Probleme (nehme an wg der neuen "12 Uhr Regel"). Nachts um 1 Uhr initialisiere ich die Tageswerte für Minimum und Maximum. Minimum setze ich auf 10 Euro, Maximum auf 0 Euro. Wenn die Tankstelle um 6 Uhr öffnet und Tankerkönig die Updates liefert wird geprüft ob der aktuelle Preis kleiner dem Minimum ist (sollte er sein bei 10 Euro :-) ) und ob der aktuelle Preis größer ist als das Maximum (sollte so sein bei 0 Euro). Bislang lief das wie gesagt, aber seit ein paar Tagen wird Minimum nicht mehr überschrieben. Blockly: [image: 1775212285206-a1b488cd-8832-4e86-a26e-ebf5ccd371a6-image.jpeg] Die Max-Werte werden richtig berechnet und aktualisiert, die Minwerte nicht: [image: 1775212386445-4f6ef08f-5e6f-42ef-897a-846d83816386-image.jpeg] Der DP der abgefragt wird, wird aktualisiert hier als Beispiel "Diesel_Short" mit aktuellem Zeitstempel [image: 1775212484986-e3e7d4cd-7216-4e30-b810-2e6d0c7f5050-image.jpeg] Ich nehme an irgendein dämlicher Fehler von mir, aber ich sehe ihn nicht :-(
  • Hilfe für Skripterstellung mit Node-RED

    954 13k
    954 Topics
    13k Posts
    F
    Hallo ich habe ein Problem mit Nodered und Alexa Echo. Ich habe in Nodered die Wemo Emulation installiert und eine Wemo Steckdose emuliert um an einer Zigbeesteckdosenleiste einen Platz der Leiste zu schalten. "node-red-contrib-wemo-emulator" Das klappt auch wunderbar leider nicht länger als ein zwei Tage. Wenn ich dann den Echo der mit der emulierten Steckdose verbunden ist neu starte geht es wieder. Leider ist das sehr nervig. Hat schon mal jemand gehabt? Durch die Forumssuche habe ich leider nicht gefunden. Gruss Achim
  • Sonoff RF Bridge mit Bewegungsmelder Sonoff PIR2

    blockly
    19
    1
    0 Votes
    19 Posts
    868 Views
    M
    @biker1602 [image: 1602583409196-1f8ae1eb-6faf-42f6-8a20-10c905c560b3-image.png] Sonnenaufgang und Sonnenuntergang sind keine Zeit und müssen umgewandelt werden.
  • Homematic IP Heiztungsthermostat IST-Wert

    javascript blockly
    25
    2
    0 Votes
    25 Posts
    4k Views
    J
    @paul53 said in Homematic IP Heiztungsthermostat IST-Wert: @jukus100 sagte: Kann ich mit einer CCU denn auch die IP Heizungsthermostate steuern? Ja. @jukus100 sagte in Homematic IP Heiztungsthermostat IST-Wert: kann man nicht auch einen Raspi als CCU nutzen? Ja, mit einem HM-Funkmodul. @jukus100 sagte in Homematic IP Heiztungsthermostat IST-Wert: hat der Nachteile gegenüber einer "echten"? Nein, keine technischen Nachteile bei RPi 3. Perfekt, danke. Hab zum Glück eh noch einen RPi 3 hier. Denke iobroker + Deconz + CCU ist in Summe dann doch etwas zu viel :-D
  • Alle Objekte einer Instanz auslesen

    javascript blockly
    10
    0 Votes
    10 Posts
    934 Views
    G
    In diesem Zusammenhang einmal ganz allgemein gefragt: Habt ihr irgendeine Form der Überwachung Eurer Sensoren? D.h. wie merkt ihr, wenn ein Sensor (z.B. Temperatur oder Fenster/Türkontakt) nicht mehr funktioniert? Mein aktueller Ansatz ist, daß ich eine Meldung per Telegram sende, wenn der Timestamp eines Sensors zu alt ist. Bei den Temperatursensoren ist zumindest davon auszugehen, daß diese mehr oder weniger oft die aktuelle Temperatur melden. Aber die Türkontakte sind i.d.R. wesentlich länger Standby, solange nichts geöffnet oder geschlossen wird...
  • Gelöst: Speicherpfad in Iobroker

    javascript
    19
    0 Votes
    19 Posts
    1k Views
    M
    @AlCalzone Kannst Du mir evtl. noch zeigen wie ich eine Datei auf einem Laufwerk ins Vis bringen kann? Ich habe also einen Ordner auf C:\Test, dort werden mir regelmäßig Bilder einer Kamera per Email zugesandt, die ich dann extrahiert habe, ich möchte also immer das letzte Bild in Vis hoch laden. Gruß Michael
  • Blockly - Prüfung des Werts aller Objekte eines Arrays

    javascript blockly
    9
    0 Votes
    9 Posts
    1k Views
    D
    @paul53 Danke! Gruß daNick
  • Shelly und HS100

    blockly scenes node-red javascript
    8
    0 Votes
    8 Posts
    393 Views
    NH NHN
    @paul53 Ah okay.. super funktioniert! hatte nicht gewusst das ich den Trigger auf Wert ändern konnte.
  • Script Engine V4.9.0

    javascript blockly
    8
    1
    0 Votes
    8 Posts
    361 Views
    K
    @Homoran Ja, nach der Aktualisierung wird bei mir jetzt auch die Version 4.8.4 angezeigt. Besten Dank
  • Alarmanalgen Blockly Problem [gelöst]

    blockly
    20
    1
    0 Votes
    20 Posts
    1k Views
    Michael DreherM
    @liv-in-sky jup das war der fehler jetzt Funktiniert es !!!! Super vielen lieben dank euch !!!!
  • Stromverbrauch aus 3 Werten berechnen (blockly)

    blockly monitoring
    6
    0 Votes
    6 Posts
    1k Views
    W
    @Homoran So, der Lesekopf war wirklich defekt. Jetzt funktioniert wurde er getauscht: Datenpunkte Smartmeter: Momentanwert Gesamtwirkleistung (Total) - 1-0:16_7_0__255.value = aktueller Verbrauch Zählerstand 1 Summe Wirkarbeit Bezug + (Total) - 1-0:1_8_0__255.value = Fremdbezug Stromzähler Zählerstand 1 Summe Wirkarbeit Abgabe - (Total)- 1-0:2_8_0__255.value = Einspeisung Stromzähler Am Fornius-Adapter gibt es eine ganze Latte an Werten Welche Werte nimmst du von hier?
  • Gelöst: Snapshot beim Klingeln in Iobroker Speichern

    javascript
    3
    0 Votes
    3 Posts
    573 Views
    GlasfaserG
    @michihorn Antwort siehe hier ;) https://forum.iobroker.net/topic/37450/speicherpfad-in-iobroker
  • Subscription auf dynamisch erzeugte Datenpunkte möglich?

    javascript
    3
    0 Votes
    3 Posts
    203 Views
    PeoplesP
    @paul53 naja dann mach ich das doch über die enum.functions Danke Paul!
  • Alias mit Channel umsetzten wie ?

    javascript
    14
    2
    0 Votes
    14 Posts
    1k Views
    F
    @crunchip Danke ist schon länger her das ich dann dein Skript genommen habe .... Mir ist ja egal welches ich nutze Hauptsache ich bekomme das mit der Channelfunktion gedängelt. Kann man das überhaupt mit createAlias so erstellen das die Informationen so zugewiesen werden wie ich mir das vorstelle ? Ich denke mal das ich an den bestehenden Skript eh nix ändern kann mangels fachwissen. //Ankleide////////////////////////////////////////////////////////////////////////////////////////// //Motion_Fibaro// createAlias('zwave2.0.Node_030.Multilevel_Sensor.illuminance','Ankleide.Multisensor.Motion_Auge.Lux'); createAlias('zwave2.0.Node_030.Multilevel_Sensor.airTemperature','Ankleide.Multisensor.Motion_Auge.Temp'); createAlias('zwave2.0.Node_030.Binary_Sensor.any','Ankleide.Multisensor.Motion_Auge.Bewegung'); createAlias('zwave2.0.Node_030.Battery.isLow','Ankleide.Multisensor.Motion_Auge.Battery_Status'); createAlias('zwave2.0.Node_030.Battery.level','Ankleide.Multisensor.Motion_Auge.Battery_Level'); //Beleuchtung// createAlias('zwave2.0.Node_031.Binary_Switch.targetValue_001','Ankleide.Beleuchtung.Schrankbeleuchtung.target'); createAlias('zwave2.0.Node_031.Binary_Switch.currentValue_001','Ankleide.Beleuchtung.Schrankbeleuchtung.state'); createAlias('zwave2.0.Node_031.Binary_Switch.targetValue_002','Ankleide.Beleuchtung.Steckdose_2.target'); createAlias('zwave2.0.Node_031.Binary_Switch.currentValue_002','Ankleide.Beleuchtung.Steckdose_2.state'); [image: 1602068789237-2020-10-07-11_59_08-objects-iobroker.png] Schrankbeleuchtung und Steckdose_2 und Motion_Auge sollen Typ Channel bekommen. Wie kann ich das im alias Skrip umsetzten ......
  • 0 Votes
    2 Posts
    301 Views
    liv-in-skyL
    @slubitz schon mal das gesehen - https://forum.iobroker.net/topic/36750/test-adapter-smartcontrol-0-3-x-0-5-x-latest dort wird mit selbstdefinierten zonen gearbeitet - vielleicht hilft das ich selbst habe auch zu viele scripte laufen und suche nach einer anderen struktur - evtl sollte man vorher aber auf alias umstellen bzw einführen - damit wird das austauschen von sensoren und schaltern besser strukturiert
  • Javascript Problem nach Neustart

    javascript
    3
    0 Votes
    3 Posts
    531 Views
    C
    @paul53 Danke dir. Manchmal sieht man die einfachen Lösungen nicht. :-)
  • [gelöst]Frage zu Json verarbeiten

    javascript
    6
    1
    0 Votes
    6 Posts
    472 Views
    PeoplesP
    Trotzdem danke an Beide, jeder Hilfeversuch ist wichtig!
  • JavaVerskriptet... Oder verblockliet...

    javascript
    6
    1
    0 Votes
    6 Posts
    342 Views
    Thomas BraunT
    @Glasfaser Dann sagt die Tante ja "Null!" Die soll aber einfach den Rand halten. Hab es jetzt so: [image: 1602009137965-3ac69f02-2255-4bca-84b2-6b66330cfc30-image.png] Und wehe die ist jetzt beleidigt und sagt gar nix mehr, @Glasfaser ! :-P
  • Sonos n. Zeitplan gruppieren Fav abspielen (Neuling)

    blockly
    6
    0 Votes
    6 Posts
    795 Views
    Sam RubberduckS
    @skokarl Danke !
  • Heizungsskripte - Voraussetzung

    javascript heating
    5
    0 Votes
    5 Posts
    770 Views
    oe1agfO
    Prima, damit ist meine Frage erschöpfend beantwortet. Ich werde also in meinem Skript vorsehen, beim Start zunächst den AUTO Modus auszuschalten. Es wäre auch zu überlegen, ob man die Skriptateuerung nur zu bestimmten Zeiten zuläßt und sonst die Automatik schalten und walten läßt. Da kommen gleich Ideen... Zur Ventilsteurung: ich habe das mal ausprobiert; die Ventilöffnung kann man direkt über den entsprechenden Datenpunkt zwischen 0 und 100% steuern. Ein paar Sekunden später hört man das Ventil dann regeln und die Anzeige im Datenpunkt wird aktualisiert. Übrigens habe ich Raumthermostate, aber nicht mit hmip. Danke für den Input! Gruß, Jörg
  • [gelöst] Influx für Datenpunkt per Script setzen

    javascript monitoring
    9
    0 Votes
    9 Posts
    902 Views
    paul53P
    @tritor sagte: Zumindest "changesRelogInterval": "3600", und "changesOnly": false, Das Intervall wirkt nur, wenn "changesOnly" auf true ist - falls ich nicht irre. Jedes Attribut muss einzeln gesetzt werden. extendObject('wlanthermo-nano.0.33dff0.Sensors.Sensor_1.temp', {common: {custom: {"influxdb.0": {changesRelogInterval: "3600"}}}});
  • Zeichenkette auswerten

    blockly javascript
    3
    0 Votes
    3 Posts
    614 Views
    R
    @liv-in-sky OK danke ich teste das.

604

Online

32.7k

Users

82.6k

Topics

1.3m

Posts