NEWS

  • Starter

    Hallo,
    um einen Befehl und die Rückmeldung für die Vis in ein Objekt zu bekommen, habe ich hier im Forum für meine Rolläden das folgende Skript gefunden und entsprechend angepasst.

    //Esszimmer
    const idCmd4 = 'knx.0.Rollo_EG_Neubau.Esszimmer.Positionierung';  // Datenpunkt-ID für Kommando
    const idStat4 = 'knx.0.Rollo_EG_Neubau.Esszimmer.Position'; // Datenpunkt-ID für Status
    const idVis4 = 'javascript.0.scriptEnabled.Rolladen.Rolladen_Esszimmer'; // Datenpunkt für gleichzeitige Anzeige / Bedienung
    const js4 = 'system.adapter.javascript.' + instance;
    createState(idVis4, getState(idStat4).val, {type: 'boolean'}); // Datenpunkt erzeugen
    on({id: idVis4, change: 'ne', fromNe: js4}, function(dp) {
    setState(idCmd4, dp.state.val);
    });
    on(idStat4, function(dp) {
    setState(idVis4, dp.state.val, true);
    });
    

    Dies funktioniert auch tadellos.

    Da ich dies auch mit den Tastern machen muss, habe ich das gleiche Skript genommen.
    Hier muss ich aber zum Ein und Ausschalten je zweimal drücken 😞
    Die Rückmeldung in der Vis stimmt aber so weit.

    //Büro
    const idCmd1 = 'modbus.0.coils.12458_Taster_Kind 2 Licht Decke AB';  // Datenpunkt-ID für Kommando
    const idStat1 = 'modbus.0.coils.582_KL12_DO7'; // Datenpunkt-ID für Status
    const idVis1 = 'Licht.0.Licht_Büro_Altbau'; // Datenpunkt für gleichzeitige Anzeige / Bedienung
    const js1 = 'system.adapter.javascript.' + instance;
    createState(idVis1, getState(idStat1).val, {type: 'boolean'}); // Datenpunkt erzeugen
    on({id: idVis1, change: 'ne', fromNe: js1}, function(dp) {
    setState(idCmd1, dp.state.val);
    });
    on(idStat1, function(dp) {
    setState(idVis1, dp.state.val, true);
    });
    

  • @Daytona-Saar sagte:

    Da ich dies auch mit den Tastern machen muss

    Welche Datenpunkte sind Taster und wie verhalten sich diese ?

  • Starter

    Hier die RAW von der Variable für gleichzeitige Anzeige / Bedienung.
    Meintest du das ? 😄

    {
      "from": "system.adapter.admin.0",
      "user": "system.user.admin",
      "ts": 1563563853037,
      "common": {
        "name": "Taster_Büro_Altbau",
        "role": "",
        "type": "boolean",
        "desc": "Manuell erzeugt",
        "read": true,
        "write": true,
        "def": false
      },
      "native": {},
      "acl": {
        "object": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator",
        "state": 1636
      },
      "_id": "javascript.0.scriptEnabled.Taster.Taster_Büro_Altbau",
      "type": "state"
    }
    

    Vom Verhalten her ist sie TRUE beim drücken und FALSE beim loslassen


  • @Daytona-Saar sagte:

       "_id": "javascript.0.scriptEnabled.Taster.Taster_Büro_Altbau",
    

    Ist das der Tasten-Datenpunkt oder heißt das Skript "Taster.Taster_Büro_Altbau" ? Dieser Datenpunkt ist im obigen Skript nicht enthalten.

  • Starter

    sorry... zwischenzeitlich umbenannt. Orientiere dich an den idCmd1 idStat1 und idVis


  • @Daytona-Saar sagte:

    Orientiere dich an den idCmd1 idStat1 und idVis

    Und welcher davon ist Taster ?

  • Starter

    Na, Taster_Kind 2 Licht Decke AB.
    Also IdCmd


  • @Daytona-Saar
    Der toggled das Licht ? Dann ändere Zeile 8 in

    setState(idCmd1, true);
    
  • Starter

    Hi,
    vielen Dank erst mal für die schnelle Antwort.
    Habe das mal geändert.
    Kann dann das Licht einmal einschalten und nie wieder aus.
    Rückmeldung funktioniert dann auch nicht mehr.


  • @Daytona-Saar sagte:

    Kann dann das Licht einmal einschalten und nie wieder aus.

    Dann muss wohl der Taster auf false zurück gesetzt werden.

    setState(idCmd1, true);
    setStateDelayed(idCmd1, false, 100);
    
  • Starter

    Du bist mein Held 🙂 vielen vielen Dank für die Hilfe 😄
    Licht an und aus schalten mit passender Rückmeldung funktioniert jetzt in allen möglichen Situationen.
    Egal ob von Alexa, KNX-Taster im Raum oder Visualisierung!

Suggested Topics

2.8k
Online

35.1k
Users

41.1k
Topics

564.4k
Posts