Skip to content

JavaScript

Hilfe für Skripterstellung mit JavaScript

2.5k Topics 48.8k Posts

NEWS

  • [gelöst]JSON.parse Problem mit WienerLinien Daten

    javascript
    5
    1
    0 Votes
    5 Posts
    547 Views
    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 Votes
    8 Posts
    545 Views
    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 Votes
    2 Posts
    445 Views
    M
    Erledigt.... :+1: siehe Beitrag hier
  • device Namen und ids auflisten

    javascript
    6
    1
    0 Votes
    6 Posts
    793 Views
    M
    MEGA!!! Perfekt, das war es! Danke Dir:+1: :+1: :+1:
  • Auf Listenelement in Binding zugreifen?

    3
    0 Votes
    3 Posts
    351 Views
    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 Votes
    10 Posts
    664 Views
    AlCalzoneA
    @Homoran Ich bin mir relativ sicher, dass die entsprechenden Hilfen (z.B. CRON-Designer) das bereits berücksichtigen.
  • Einmaliger schedule-Auftrag

    2
    0 Votes
    2 Posts
    276 Views
    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 Votes
    15 Posts
    860 Views
    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 Votes
    3 Posts
    599 Views
    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 Votes
    7 Posts
    679 Views
    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 Votes
    3 Posts
    243 Views
    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 Votes
    1 Posts
    208 Views
    No one has replied
  • JS für Switch + State anpassen

    javascript
    5
    0 Votes
    5 Posts
    542 Views
    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 Votes
    3 Posts
    261 Views
    Z
    ok Danke für die schnelle Antwort ! :relaxed:
  • [Gelöst] Delay für Licht ein/aus

    26
    0 Votes
    26 Posts
    2k Views
    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 Votes
    7 Posts
    743 Views
    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 Votes
    1 Posts
    193 Views
    No one has replied
  • [gelöst]Anfänger: Variable über Uhrzeit

    javascript
    7
    0 Votes
    7 Posts
    366 Views
    T
    @ticaki Ja, natürlich.^^ Sry, war vorher wohl etwas verpeilt.^^
  • Tunze 7096 Strömungssteuerung

    2
    0 Votes
    2 Posts
    135 Views
    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.
  • [gelöst]Vergleich String mit State.val fehlerhaft

    5
    0 Votes
    5 Posts
    765 Views
    N
    Tatsächlich... javascript.0 2020-01-22 20:18:14.246 info (12468) script.js.common.setDevice: setDevices: Länge: 13 Ich probiere mal .trim() Edit: Funktioniert... Danke!

602

Online

32.6k

Users

82.1k

Topics

1.3m

Posts