NEWS


  • 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 ?


  • 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.


  • 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 ?


  • Na, Taster_Kind 2 Licht Decke AB.
    Also IdCmd


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

    setState(idCmd1, true);
    

  • 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);
    

  • 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

  • 11
  • 234
  • 5
  • 5
  • 6
  • 20
  • 6
  • 4

1.1k
Online

38.3k
Users

43.7k
Topics

611.3k
Posts