Skip to content

JavaScript

2.5k Topics 49.7k Posts

Hilfe für Skripterstellung mit JavaScript

NEWS

  • Bose Soundtouch Adapter - true/false setzen

    2
    0 Votes
    2 Posts
    472 Views
    paul53P
    @gammler2003 sagte in Bose Soundtouch Adapter - true/false setzen: "muted" abwechselnd "true" und "false" gesetzt. Offenbar toggled der Wert bei jeder Aktualisierung des Datenpunktes. Wenn auf einen anderen Datenpunkt reagiert werden soll, dann muss man vergleichen. on(idMusik, function(dp) { if(dp.state.val != getState("bosesoundtouch.2.muted").val) setState("bosesoundtouch.2.muted", dp.state.val); });
  • Global und/oder Inlinescript wird nicht aufgerufen

    1
    0 Votes
    1 Posts
    172 Views
    No one has replied
  • Fehlermeldung triggert Script

    javascript
    19
    0 Votes
    19 Posts
    1k Views
    C
    Nochmals Danke für die unermüdliche Hilfe. Nach einem Tag nichtstun werden mir heute Abend folgende Updates angeboten: [image: 1577646243295-d5f2a49b-3d21-4dae-9aaf-7d2f6bb1ded3-grafik.png] Das Problem scheint also gelöst. Danke und Gruss.
  • Device von einem State abfragen

    3
    0 Votes
    3 Posts
    1k Views
    Daniel RD
    @paul53 said in Device von einem State abfragen: Vorschlag: function deviceName(id) { // id = Datenpunkt-ID id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name; id = id.substring(0, id.lastIndexOf('.')); if(existsObject(id) && getObject(id).type == 'device') return getObject(id).common.name; } Vorschlag läuft An die Variante hatte ich tatsächlich gedacht, aber ich hatte angenommen, dass es da noch einen anderen Weg geben muss :)
  • Exec Wget gibt Fehler: "Scheme missing" zurück

    1
    0 Votes
    1 Posts
    459 Views
    No one has replied
  • Sekunden in d/h/m umrechnen

    19
    0 Votes
    19 Posts
    3k Views
    G
    @Homer-J JA! Sieht einfacher aus... dann kommt man mit den Nullen nicht durcheinander!
  • Javascript findet onLog() nicht

    javascript
    3
    0 Votes
    3 Posts
    566 Views
    C
    Danke, siehe meine Antwort im anderen Thread...
  • BWM: Lampe an, solange Bewegung stattfindet.

    9
    0 Votes
    9 Posts
    1k Views
    ?
    Dankeschön, so etwas hatte ich gemeint. Werde ich morgen mal testen.
  • (gelöst) Umwandlung: String-->Array-->String

    8
    0 Votes
    8 Posts
    1k Views
    R
    Oh, man - war ich blind. Ich ahnte zwar, dass ich den String richtig zusammengebaut hatte (deshalb war ich ja auch der Meinung, dass es an etwas anderem liegen müsste), nur habe ich nicht dran gedacht, dass ich das Array hinterher wieder mit JSON.stringify zurückwandeln muss, um ihn einem Datenpunkt zuweisen und dann endlich in VIS über eine Json-Tabelle anzeigen zu können. Deshalb habe ich (bei einem kompletten Array unsinnigerweise) versucht, über console.log den Fehler zu finden. Dank Eurer Hilfe, hab ich es jetzt hinbekommen: StringValue = StringValue+',StringValue = '['; . . .{"S1":'+'"'+SpalteC+'","S2":"'+SpalteA+'","S3":"'+SpalteB+'","S4":"'+SpalteD+'","S5":"'+SpalteE+'","S6":"'+SpalteF+'","S7":"'+SpalteG+'"}'; StringValue = StringValue+']'; var test = JSON.parse(StringValue); test.sort(function(a, b) { if(a.S5 < b.S5) return -1; if(a.S5 > b.S5) return 1; return 0; }); setState('javascript.2.TabelleTest', JSON.stringify(test)); } Vielen Dank! ... ich werde den Threat-Titel gleich noch anpassen, damit die Forums-Suchfunktion nicht falsch anschlägt.
  • Selector $ finden zu weniger und zu viele Geräte

    9
    4
    0 Votes
    9 Posts
    717 Views
    echoDaveE
    @paul53 said in Selector $ finden zu weniger und zu viele Geräte: $('channelstate.id=*').each(function (id, i) { log("licht: "+id) }); $('channel[state.id=*](functions=hauptlicht)').each(function (id, i) { log("channel: "+id) }); 19:51:09.327 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.AES_KEY 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.CONFIG_PENDING 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.DEVICE_IN_BOOTLOADER 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.DUTYCYCLE 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.LOWBAT 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.RSSI_DEVICE 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.RSSI_PEER 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.STICKY_UNREACH 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.UNREACH 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.0.UPDATE_PENDING 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.1.INHIBIT 19:51:09.328 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.1.INSTALL_TEST 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.1.ON_TIME 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.1.STATE 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279503.1.WORKING 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.AES_KEY 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.CONFIG_PENDING 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.DEVICE_IN_BOOTLOADER 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.DUTYCYCLE 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.LOWBAT 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.RSSI_DEVICE 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.RSSI_PEER 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.STICKY_UNREACH 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.UNREACH 19:51:09.329 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.0.UPDATE_PENDING 19:51:09.330 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.1.INHIBIT 19:51:09.330 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.1.INSTALL_TEST 19:51:09.330 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.1.ON_TIME 19:51:09.330 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.1.STATE 19:51:09.330 info javascript.0 (9583) script.js.common.Haussteuerung.Licht: channel: hm-rpc.0.LEQ0279566.1.WORKING Ich habe mir jetzt mit folgendem Workaround geholfen um nur die States rauszufiltern die ich haben will: $('state[id=*.LEVEL|*.STATE](rooms=esszimmer)(functions=hauptlicht)').each(function (id, i) { log("licht: "+id) }); trotzdem ist der Zustand an sich nicht schön..
  • [gelöst]Zeitschaltuhr mit Datenpunkt schalten

    javascript
    7
    0 Votes
    7 Posts
    1k Views
    Dominik F.D
    @Peoples Super, nun scheint alles zu funktionieren. Vielen lieben Dank
  • [Skript] Viessmann Eigenverbrauch optimieren

    1
    1 Votes
    1 Posts
    1k Views
    No one has replied
  • ( gelöst)Problem bei meinen ersten Skriptschritten

    7
    0 Votes
    7 Posts
    619 Views
    A
    @paul53 ich meinte den Forumstag. hab ich aber über edit hingekriegt. und vielen Dank für den console .log hinweis. Gruß aus HH
  • [gelöst] Abfrage von Zigbee-Status

    javascript
    13
    0 Votes
    13 Posts
    2k Views
    paul53P
    @Bluefox Bitte dringend eine neuere Version des Javascript-Adapters in das Stable Repository einstellen, da der $Selector in der Kombination js-controller 2.1.1 und Javascript-Adapter 4.1.12 nicht funktioniert.
  • Gelöst: Exec wird nicht ausgeführt.

    javascript
    9
    0 Votes
    9 Posts
    782 Views
    OliverIOO
    Zur genauen Funktionsweise von sudo, sudoers kannst du unter dem link, den ich oben von ubuntuusers gepostet habe, nachlesen. Dann verstehst du auch etwas besser welche linux Mechanismen hier wirken.
  • [gelöst]Rolladensteuerung Astro nicht gestartet

    javascript blockly
    5
    1
    0 Votes
    5 Posts
    712 Views
    Mrks1337M
    @Jan1 Genau das Blocklyscript war das Problem. Vielen Dank für die Hilfe :)
  • Abfallkalender - nächster Termin an die CCU

    javascript
    6
    0 Votes
    6 Posts
    703 Views
    B
    Ok, danke für die Hilfe. Hier mit habe ich es jetzt hinbekommen. // DP in SV schreiben const idDP1 = "ical.0.events.1.Papiertonne"; const idSV1 = "hm-rega.0.15758"; setState("hm-rega.0.15758", getState("ical.0.events.1.Papiertonne").val); // Skriptstart on("ical.0.events.1.Papiertonne","hm-rega.0.15758"); // Wertänderung Nun wird es in der SV von meiner CCU angezeigt. Wie bekomme ich jetzt den Textinhalt der SV auf mein E-Paper. Bis jetzt habe ich immer nur Werte angezeigt. Hiermit string temp = dom.GetObject('BidCos-RF.OEQ0072229:1.TEMPERATURE').Value().ToString(1) # " °C"; string displayCmd = "JPDISEP000 /1 '@p00Außen@f56" # temp # "'"; dom.GetObject("CUxD.CUX2801001:1.CMD_EXEC").State("tclsh /usr/local/addons/epaper42.tcl " # displayCmd); Grüße Manfred
  • Suche nach einem funktionsfähigen Skript...

    javascript
    7
    0 Votes
    7 Posts
    759 Views
    malorossM
    Ich habe einen Zwave Double Switch als Lichtschalter. Da Skripting für mich noch absolutes Neuland ist und zum besseren Verständnis für mich: ich muss ich im Skript 1. Zwei Variablen definieren [image: 1576732854230-bb46b54d-a3b6-472e-86e6-40e8a70b8efe-image.png] 2. Dazu die Schleife gemäß diesem Muster // Schleife für jedes gefundenen Element *.Power im Gewerk Beleuchtung if (logging) log('#### ZWAVE1 ##### '); cacheSelectorZwave1.each(function(id, i) { var obj = getObject(id); var name = getObject(id).common.name; usw. 3. Trigger einfügen cacheSelectorZwave1.on(function(obj) { if (logging) log('Auslösender Zwave1: ' + obj.id + ': ' + obj.state.val); checkDevices(); }); Der Rest kann so bleiben, wie er ist. Ist meine Logik soweit korrekt?
  • Werte zur CCU und gleichzeitig umrechnen?

    5
    0 Votes
    5 Posts
    248 Views
    B
    OK, habe es geändert. Danke für die Hilfe.
  • [gelöst] Javascript Anfängerfrage

    15
    0 Votes
    15 Posts
    1k Views
    ?
    Ich habe die Frage einmal im Homematic-Forum gepostet. Dort hat mich ein User auf die mir unbekannte (weil Unwissender) Idee gebracht, dieses mit den CCU eigenen virtuellen Tastern zu lösen. Ich habe somit jetzt in der CCU mehrere Direktverbindungen zur Sirene mit unterschiedlichen Signalen erzeugt und diesen entsprechenden Tastern zugeordnet. Diese wurden bei der Erstinitialisierung schon eingebunden und besitzen per se Schreibrechte. Somit spreche ich jetzt mit den "setState-Befehlen" die virtuellen Taster an, welche die gewünschten Aktionen ausführen. Viele Grüße Fritz

416

Online

33.0k

Users

83.4k

Topics

1.3m

Posts