Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Themen 48.8k Beiträge

NEWS

  • Harmony Adapter Script für Sender Direkt Aufruf

    javascript
    1
    0 Stimmen
    1 Beiträge
    234 Aufrufe
    Niemand hat geantwortet
  • [gelöst]JSON.parse Problem mit WienerLinien Daten

    javascript
    5
    1
    0 Stimmen
    5 Beiträge
    548 Aufrufe
    S
    @paul53 sagte in JSON.parse Problem mit WienerLinien Daten: const url = 'https://www.wienerlinien.at/ogd_realtime/monitor?rbl=2139'; Super. Klappt. Vielen Dank. Da habe ich wohl über zu viele Ecken gedacht. Ich bastle dann mal weiter.
  • Alle Datenpunkte eines Kanals

    javascript
    8
    0 Stimmen
    8 Beiträge
    546 Aufrufe
    paul53P
    @hsteinme sagte: Dieses Thema ist doch nicht nur für Adapter-Entwickler interessant, sondern auch für ioBroker-Anwender, die Javascript einsetzen. Die Lösung für Anwender des Javascript-Adapters ist anders als die für Adapter-Entwickler. Meine Lösung bezog sich auf Anwender.
  • [gelöst]Werte Feld "Name" TASMOTA-Geräten auslesen

    2
    0 Stimmen
    2 Beiträge
    445 Aufrufe
    M
    Erledigt.... :+1: siehe Beitrag hier
  • device Namen und ids auflisten

    javascript
    6
    1
    0 Stimmen
    6 Beiträge
    793 Aufrufe
    M
    MEGA!!! Perfekt, das war es! Danke Dir:+1: :+1: :+1:
  • Auf Listenelement in Binding zugreifen?

    3
    0 Stimmen
    3 Beiträge
    351 Aufrufe
    Archimedeus AA
    @J-A-R-V-I-S Hi ! ich habe umdisponiert und versuche es jetzt mit alias. Der sieht so aus: { "type": "state", "common": { "type": "boolean", "role": "switch", "read": true, "write": true, "storeMap": true, "name": "Lampe_0", "smartName": { "de": "Weihnachtsbaum", "smartType": "LIGHT" }, "alias": { "id": "sonoff.0.sonoff2.POWER" }, "cRoom": "Wohnzimmer" }, Eigentlich wäre ich zufrieden, wenn ich jetzt auf cRoom im binding zugreifen könnte. Versuch: {alias.0.Lights.ActiveLights.Lampe0.cRoom} gibt undefined. Natürlich wäre es noch schöner, wenn ich mein cRoom in .Custom einfügen könnte in dem Script, mit dem ich den alias anlege. Der Versuch if(cRoom) obj.common.custom.cRoom = cRoom; schlug aber fehl. Blöd wenn man kein JS kann. Gruß, Archi
  • Datums Interpretation Fehlerhaft

    javascript
    10
    0 Stimmen
    10 Beiträge
    664 Aufrufe
    AlCalzoneA
    @Homoran Ich bin mir relativ sicher, dass die entsprechenden Hilfen (z.B. CRON-Designer) das bereits berücksichtigen.
  • Einmaliger schedule-Auftrag

    2
    0 Stimmen
    2 Beiträge
    276 Aufrufe
    J
    Ich habe noch ein wenig weiter geforscht. Es bleibt seltsam: schedule(getDateObject("12:30"),()=>{ log("eins"); }) schedule(new Date("2020-01-30 12:30:00"),()=> { log("zwei"); }) dann kommt im Log die erwartete Quittierung: 12:29:24.085 info javascript.0 (27438) script.js.test: schedule(cron=Thu Jan 30 2020 12:30:00 GMT+0100 (GMT+01:00)) 12:29:24.087 info javascript.0 (27438) script.js.test: schedule(cron=Thu Jan 30 2020 12:30:00 GMT+0100 (GMT+01:00)) Aber anschließend kommt im Log: 12:30:00.002 info javascript.0 (27438) script.js.test: zwei 12:30:00.003 info javascript.0 (27438) script.js.test: eins 12:31:00.007 info javascript.0 (27438) script.js.test: zwei 12:32:00.004 info javascript.0 (27438) script.js.test: zwei 12:33:00.002 info javascript.0 (27438) script.js.test: zwei Das würde ja bedeuten, dass das Date-Objekt mit new Date erzeugt anders interpretiert wird als mit getDateObject. Falls das wirklich so wäre, dann sollte das in der Doku explizit vermerkt werden.
  • (gelöst) Javaskript

    javascript
    15
    0 Stimmen
    15 Beiträge
    860 Aufrufe
    sigi234S
    @ostseereiter sagte in (gelöst) Javaskript: @sigi234 ja nur eine. Gibt es vorteile wenn man mehrere installiert ? Natürlich zB.: Produktives System Testsystem Ram Auslastung...Aufteilung....
  • readFile & Bild per Telegram senden

    3
    0 Stimmen
    3 Beiträge
    600 Aufrufe
    GarfonsoG
    @Nahasapee Ja, ich muss es zuerst aus der Datenbank lesen, auf der Festplatte liegt das Bild nicht mehr (bzw. da lag noch ein uraltes, was mich zuerst auf einen anderen Weg bei der Fehlersuche geschickt hat). Ich habe es jetzt hinbekommen und zwar so: readFile("vis.0","/Mechenstr-Fire10/img/Doorbird_Bell.jpg", function (err, img) { sendTo("telegram.0", { text: img, caption: "Geklingelt", type: "photo" }); });
  • Parse JSON in String oder Integer

    7
    0 Stimmen
    7 Beiträge
    680 Aufrufe
    paul53P
    @e-s sagte: wie würde das in blockly aussehen? [image: 1580330498649-blockly_temp.jpg]
  • [gelöst] Gerätenamen mit Leerzeichen verarbeiten

    3
    0 Stimmen
    3 Beiträge
    243 Aufrufe
    K
    @ticaki wenn ich es so mache wie du, steht im Datenpumnkt "Device-name" folgendes: Sonoff-S20 INFO Hostname Mit meiner Lösung steht da nur "Sonoff-S20". Wenn ich das reichtig verstehe, schneiden meine Befehle nach dem ersten Leerzeichen ab. Ich versuche es mal mit erstzen, damit die Leerzeichen nicht abgeschnitten werden. EDIT: @ticaki vielen Dank für den Hinweis. Habe es jetzt hinbekommen. var devicename = getObject(id).common.name; var devicename = devicename.replace(" INFO ", "") var devicename = devicename.replace(" Hostname", "") var devicenameName=devicename;
  • UTF-8 nach ISO 8859-1 konvertieren für KNX-Adapter

    1
    0 Stimmen
    1 Beiträge
    208 Aufrufe
    Niemand hat geantwortet
  • JS für Switch + State anpassen

    javascript
    5
    0 Stimmen
    5 Beiträge
    542 Aufrufe
    tugsiT
    @paul53 sagte in JS für Switch + State anpassen: // IDs anpassen const idsButton = ['s7.0.DBs.DB1.NI02','usw.']; const idsActor = ['s7.0.DBs.DB1.Q02','usw.']; const js = 'system.adapter.javascript.' + instance; var idsVis = []; for(let i = 0; i < idsButton.length; i++) { let common = getObject(idsButton[i]).common; idsVis[i] = 'javascript.' + instance + '.LOGO.s7-0.' + common.name.replace(/\s/g, '_'); common.read = true; createState(idsVis[i], getState(idsActor[i]).val, common); } on({id: idsVis, change: 'ne', fromNe: js}, function(dp) { let i = idsVis.indexOf(dp.id); if(i > -1) setState(idsButton[i], true); }); on(idsActor, function(dp) { let i = idsActor.indexOf(dp.id); if(i > -1) setState(idsVis[i], dp.state.val, true); }); Kam erst heute dazu es zu testen, hab es mit drei Tastern/Aktoren ausprobiert, klappt 1a ! Danke dafür!
  • "schedule" bei stoppen des Scripts ?

    3
    0 Stimmen
    3 Beiträge
    261 Aufrufe
    Z
    ok Danke für die schnelle Antwort ! :relaxed:
  • [Gelöst] Delay für Licht ein/aus

    26
    0 Stimmen
    26 Beiträge
    2k Aufrufe
    BENNI32154B
    @ticaki sagte in Delay für Licht ein/aus: @BENNI32154 Und wenn du das hier unten nimmst geht es dann? const idTV = 'lgtv.0.states.on'; const idLicht1 = 'id1.powerState'; const idLicht2 = 'id2.powerState'; const idLicht3 = 'id3.powerState'; const idLicht4 = 'wifilight.0.192_168_178_150.on'; const idLicht5 = 'wifilight.0.192_168_178_157.on'; const idLicht6 = 'id6.powerState'; const idSzene = 'id7.active'; var tv = getState(idTV).val; function licht(ein) { AmazonLicht(idLicht1, ein); AmazonLicht(idLicht2, ein); AmazonLicht(idLicht3, ein); AmazonLicht(idLicht4, ein); AmazonLicht(idLicht5, ein); AmazonLicht(idLicht6, ein); var txt = 'ausgeschaltet'; if(ein) txt = 'eingeschaltet'; if (ein) setStateDelayed(idSzene, true, 6000); if(tv) setState('lgtv.0.states.popup', 'Das Licht ist ' + txt); } function AmazonLicht(dp, status) { // hier nicht setState(dp, status); setStateDelayed(dp, status, 3000); } // Skriptstart if(!isAstroDay() && tv) licht(true); else licht(false); on(idTV, function(dp) { // Triggert bei Wertänderung tv = dp.state.val; if(tv && !isAstroDay()) licht(true); else licht(false); }); schedule({astro: "sunset"}, function () { if(tv) licht(true); }); schedule({astro: "sunrise"}, function () { licht(false); }); funktioniert perfekt, vielen dank! :)
  • Probleme beim Auslesen von ICAL..

    7
    1
    0 Stimmen
    7 Beiträge
    743 Aufrufe
    4
    @paul53 So, Hier der Log: script.js.Wohnzimmer.Test: [{"date":"01.02. 15:30-17:30","event":"Borussia Dortmund - 1. FC Union Berlin | Bundesliga | 20. Spieltag","_class":"ical_BVB ical_6days","_date":"2020-02-01T14:30:00.000Z","_end":"2020-02-01T16:30:00.000Z","_section":"Dieser Terminservice wird präsentiert von calovo.de - kostenlos eigenen Kalender anlegen und mit der Welt teilen
  • Widget Kamerastream bei Viewaufruf manuell updaten

    1
    0 Stimmen
    1 Beiträge
    193 Aufrufe
    Niemand hat geantwortet
  • [gelöst]Anfänger: Variable über Uhrzeit

    javascript
    7
    0 Stimmen
    7 Beiträge
    366 Aufrufe
    T
    @ticaki Ja, natürlich.^^ Sry, war vorher wohl etwas verpeilt.^^
  • Tunze 7096 Strömungssteuerung

    2
    0 Stimmen
    2 Beiträge
    135 Aufrufe
    AphofisA
    @Dutchman Vielleicht ist ja hier was drin woran man erkennt wie die Daten gesendet werden !? Das ist das Steuerprogramm für den Controller nur in Python geschrieben. Entweder man bekommt den usb sende Befehl so heraus und kann die Daten per Blockly senden oder man kann das Python irgendwie einbinden in vis und Zeit gesteuert ein anders Programm senden.

343

Online

32.6k

Benutzer

82.1k

Themen

1.3m

Beiträge