Skip to content

JavaScript

2.5k Topics 49.7k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Editor aktualisieren Log für eigene Scripte

    7
    0 Votes
    7 Posts
    644 Views
    htreckslerH
    @hanss Du kannst doch deine Eigenen Log-Einträge immer mit einem z. B. 'xxxxx' beginnen lassen. Dann kannst du danach filtern. Und eigene Log-Einträge schreibe ich immer im log-Level "warn". Dann sind sie im Log farblich hervorgehoben. und ein letztes noch noch...in den Instanzen stelle ich die Log-Stufe in der Regel auf "Error". Dann sind die Einträge der Adapter auf ein Minimum beschränkt
  • mehrere Schedules zur selben Zeit

    6
    0 Votes
    6 Posts
    499 Views
    H
    @unclesam hab ich gemacht Github Issue
  • async await Probleme

    javascript
    4
    0 Votes
    4 Posts
    648 Views
    GarganoG
    @ljmarkus Sehe ich das richtig, daß Du von einem entfernten Rechner iobroker Objekte abfrägst ? axios wäre ein Weg : const axios = require('axios'); axios.get(url) .then((response) => { console.log(response.data); }) .catch(function (error) { // handle error console.log(error); })
  • Datum aus MariaDB um 1 Tag verschoben

    3
    0 Votes
    3 Posts
    312 Views
    G
    @unclesam Hier mein Query: SELECT date(rateTS) rateDatum, (max(rate) - min(rate)) / min(rate) * 100 Quote from ioBroker.Cry_AssetRates where ID = (Select ID from ioBroker.Cry_AssetsDef where AssetShort = &1) and date(rateTS) between subdate(CURRENT_DATE, 3) and subdate(current_date, 1) group by date(rateTS) UNION SELECT CURRENT_DATE rateDatum, AVG(rate) Quote from ioBroker.Cry_AssetRates where ID = (Select ID from ioBroker.Cry_AssetsDef where AssetShort = &1) and date(rateTS) >= subdate(CURRENT_DATE, 4)'; Hier ein kleiner Auszug aus der Datenbank: 1 2021-01-11 20:00:00 886.94601 1 2021-01-11 21:00:00 864.40646 1 2021-01-11 22:00:00 892.45925 1 2021-01-11 23:00:00 911.08562 1 2021-01-12 00:00:00 932.59806 1 2021-01-12 01:00:00 956.29698 1 2021-01-12 02:00:00 936.60696 1 2021-01-12 03:00:00 932.34174 1 2021-01-12 04:00:00 939.57242 1 2021-01-12 05:00:00 955.15450 1 2021-01-12 06:00:00 961.7661 Im phpMyAdmin bekomme das Datumswerte (Stand 14.01.) den 11. bis 14.01. Und wenn ich dann im JavaScript über das ResultSet loope liefert er mit die Daten 10. bis 13.01
  • Zeitbasiertes Script läuft nicht

    12
    0 Votes
    12 Posts
    869 Views
    M
    @unclesam Hi, mein Script läuft nun, allerdings ist bei dem ein neuer Tag erst um 12 Uhr nicht um 0 Uhr...
  • Script läuft weiter trotz anhalten

    9
    0 Votes
    9 Posts
    623 Views
    GarganoG
    @asgothian Ah, ok. Trotzdem Danke für den Hinweis.
  • Anfängerfrage: Wie komme ich zum Schwester / Parent Objekt

    11
    0 Votes
    11 Posts
    1k Views
    mickymM
    @paul53 oder man nutzt einen "regulären Ausdruck". ;) // Beispiel für id // var id = "0_userdata.0.test"; parent = id.replace(/(.*)\..*$/g,"$1"); allerdings zugegeben ohne Überprüfung auf Existenz.
  • Temperatur vom Thermostat runter, wenn Fenster auf

    javascript
    5
    0 Votes
    5 Posts
    271 Views
    Dominik F.D
    @tmartin Hier mal ein Skript was ich längere Zeit genutzt habe, vielleicht hilft es dir ja. Habe da einen Timer eingebaut, weil ich erst wollte, dass die Heizung runter geht, wenn das Fenster 10 min offen ist. Wenn du die Variablen anpasst und eventuell den Timer, dann sollte es funktionieren. //Variablen Wohnzimmer const id_EG_Wohnzimmer = 'javascript.0.Heizung.Fensterauswertung.EG_Wohnzimmer.IsOpen'/*Fenster offen?*/ const id_EG_W_Thermostat_Manu = 'hm-rpc.0.MEQ0236893.2.MANU_MODE'/*Wandthermostat Wohnzimmer MANU MODE*/ const id_EG_W_Thermostat_Auto = 'hm-rpc.0.MEQ0236893.2.AUTO_MODE'/*Wandthermostat Wohnzimmer AUTO MODE*/ var EG_Wohnzimmer = getState(id_EG_Wohnzimmer).val; //Variablen Küche const id_EG_Küche = 'javascript.0.Heizung.Fensterauswertung.EG_Küche.IsOpen'/*Fenster offen?*/ const id_EG_K_Thermostat_Manu = 'hm-rpc.0.NEQ1802941.2.MANU_MODE'/*Wandthermostat Küche MANU MODE*/ const id_EG_K_Thermostat_Auto = 'hm-rpc.0.NEQ1802941.2.AUTO_MODE'/*Wandthermostat Küche AUTO MODE*/ var EG_Küche = getState(id_EG_Küche).val; //Ab hier eigentliches Script var timer = null; //Wohnzimmer function Wmode() { if (EG_Wohnzimmer) { timer = setTimeout(function() { // Hier nach 5 Minuten "Nicht Erreichbarkeit" Aktion ausführen setState(id_EG_W_Thermostat_Manu, 17); log('Fenster im Wohnzimmer auf - Heizung ist aus'); },600000); // 10 Minuten } else { if(timer) clearTimeout(timer); setState(id_EG_W_Thermostat_Auto, true); log('Fenster im Wohnzimmer zu - Heizung ist an'); } }; //Küche function Kmode() { if (EG_Küche) { timer = setTimeout(function() { // Hier nach 5 Minuten "Nicht Erreichbarkeit" Aktion ausführen setState(id_EG_K_Thermostat_Manu, 17); log('Fenster in der Küche auf - Heizung ist aus'); },600000); // 10 Minuten } else { if(timer) clearTimeout(timer); setState(id_EG_K_Thermostat_Auto, true); log('Fenster in der Küche zu - Heizung ist an'); } }; Wmode(); // Skripstart Wohnzimmer on({id: id_EG_Wohnzimmer, change: "ne"}, function(obj) { EG_Wohnzimmer = obj.state.val; Wmode(); }); Kmode(); // Skripstart Küche on({id: id_EG_Küche, change: "ne"}, function(obj) { EG_Küche = obj.state.val; Kmode(); });
  • Namen des Datenpunkts in Aufzählung ermitteln

    javascript
    3
    0 Votes
    3 Posts
    237 Views
    E
    @paul53 said in Namen des Datenpunkts in Aufzählung ermitteln: log(getObject(windows[i]).common.name); Klasse funktioniert perfekt Danke
  • Astrozeiten spinnen?

    12
    0 Votes
    12 Posts
    866 Views
    E
    @ente34 Heute pünktlich angegangen, ich kann den gestrigen Fehler nicht reproduzieren. Closed
  • Absolute Luftfeuchte Skript

    4
    1
    0 Votes
    4 Posts
    1k Views
    AsgothianA
    @toni Code tags sind Dein Freund. Auch logs gehören in Code tags. Im Editor werden code tags durch dieses Symbol </> dargestellt. Zum Fehler selber: Da das Script auf Github liegt gibt es da jemanden der sich (hoffentlich) drum kümmert. Daher bitte da einen issue aufmachen. A.
  • Telegram Antwort vom Bot an den angefragten User

    5
    0 Votes
    5 Posts
    643 Views
    I
    @UncleSam vielen Dank - wer lesen kann... sorry dafür
  • Hilfe zur JavaScript on() mehtod

    javascript
    5
    0 Votes
    5 Posts
    251 Views
    H
    @paul53 danke, ich bin ein koffer, warum hab ich das nicht gefunden? DANKEEEE
  • Enums vergleichen

    5
    0 Votes
    5 Posts
    602 Views
    AutoBrokerA
    @AutoBroker zu früh gefreut, die Syntax geht zwar aber der Inhalt ist Schrott, es kommt nur [Objekt objekt] dabei raus
  • AirSniffer JavaScript?

    javascript
    15
    1
    0 Votes
    15 Posts
    2k Views
    A
    @paul53 der sensor ist nicht der schnellst, obwohl es ein esp8266 ist.
  • Schedule funktioniert nicht (mehr)

    4
    0 Votes
    4 Posts
    410 Views
    R
    @paul53 Danke für Deine Hilfe. Jetzt funktioniert wieder alles einwand frei!
  • Zigbee Kommando via Javascript senden

    9
    0 Votes
    9 Posts
    2k Views
    H
    @dimaiv und @Asgothian vielen Dank. Ich war schon dicht dran. Benutze auch Blockly. Der Trick ist nicht die send Funktion (senden an den Zigbee Adapter) sondern die sendToZigbee Funktion des Zigbee Adapters im Blockly als Befehl zu nehmen. Funktioniert einwandfreil. Danke an Euch beide!
  • Daten vom History Adapter addieren

    2
    0 Votes
    2 Posts
    506 Views
    HomoranH
    @Happyuser20 sagte in Daten vom History Adapter addieren: Kann mir jemand helfen das einfacher zu lösen? sourceAnalytx Adapter? der ist genau für so etwas gemacht
  • Cron Job jährlich

    3
    0 Votes
    3 Posts
    429 Views
    B
    @paul53 Dankeschön! Grüsse
  • [gelöst]Datenpunkt aus Json in CCU2 Variable schreiben?

    9
    0 Votes
    9 Posts
    1k Views
    C
    Das ist ja Klasse die Daten sind in der Variable. Also ehrlich mir ist das ein Rätzel, ihr seit Künstler. Vielen Dank.

399

Online

33.0k

Users

83.4k

Topics

1.3m

Posts