Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Jalousien mit Alexa bedienen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    443

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Jalousien mit Alexa bedienen

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
2 Beiträge 1 Kommentatoren 421 Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Marty56
    schrieb am zuletzt editiert von
    #1

    Ich habe einen State definiert, den ich per Alexa als Signal für das Hoch- und Runterfahren meiner Jalousien benutzen möchte.

    Damit der State als Jalousie erkannt wird, habe ich das JSON (RAW) von einer Homematic Jalousie genommen und in den State kopiert.

    Außerdem natürlich den entsprechenden Namen und den Parameter _id geändert. So sieht die Definition aus.

    {
      "from": "system.adapter.javascript.0",
      "ts": 1532358240973,
      "common": {
        "name": "Jalousien",
        "type": "number",
        "unit": "%",
        "role": "level.blind",
        "workingID": "WORKING",
        "def": 0,
        "min": 0,
        "max": 100,
        "read": true,
        "write": true,
        "smartName": {
          "de": "Jalousien"
        }
      },
      "native": {
        "CONTROL": "BLIND.LEVEL",
        "ID": "LEVEL",
        "TYPE": "FLOAT",
        "UNIT": "100%",
        "DEFAULT": 0,
        "FLAGS": 1,
        "MAX": 1,
        "MIN": 0,
        "OPERATIONS": 7,
        "TAB_ORDER": 0
      },
      "acl": {
        "object": 1636,
        "owner": "system.user.admin",
        "ownerGroup": "system.group.administrator",
        "state": 1636
      },
      "_id": "javascript.0.Jalousien",
      "type": "state"
    }
    

    Damit kann ich in dem cloud Adapter auch ein Smart Device definieren, dass sich wie eine Jalousie verhält. Auch Alexa erkennt den State als Jalousie und ich kann das Kommando sprechen "Jalousien hoch" bzw. "Jalousien runter".

    Jetzt ist mir aufgefallen, dass die Kommandos den Wert von dem State um 25 erhöhen bzw. erniedrigen und nicht auf 0 bzw. 100 setzen.

    Das Erhöhen bzw. Erniedrigen wird nicht gemacht, wenn jeweils 0 oder 100 erreicht wurde.

    Dieses Verhalten macht im Detail Probleme, weil das Kommando "hoch" bzw. "runter" von Natur absolut ist und nicht relativ. Wenn ich z.B. 100 erreicht habe, also alle Jalousien hoch sind, und ich dann nochmal "hoch" sage, verändert sich der Wert nicht. Jetzt könnte man sagen, wenn die Jalousien hoch sind, dann sind sie hoch, was willst Du denn. Der Use Case ist, dass wenn eine Jalousie manuell heruntergefahren wurde, dann möchte ich trotzdem, dass nochmal hoch gesendet wurde.

    Wenn nicht dagegen spricht, würde ich bitten, dass man die Werte 0 und 100 überträgt und nicht Inkremente um 25.

    HW:NUC (16 GB Ram)
    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Marty56
      schrieb am zuletzt editiert von
      #2

      Ok. Ich habe jetzt in meinem Script einen Workarround eingebaut, mit dem es geht.

      var Jalousien_block = false;
      
      on({id: "Jalousien",change: "any"}, function(obj) {
          if (!Jalousien_block) {
              Jalousien_block = true;
              log("Jalousien hat den Wert " + getState("Jalousien").val);
              if (getState("Jalousien").val > 50) {
                  log("Jalousien im Untergeschoss werden hochgefahren");
                  setState(KU_Jal_Nord,100);
                  setState(WZ_Jal_West,100);
                  setState(WZ_Jal_Sued,100);
      
              } else {
                  log("Jalousien in Untergeschoss werden heruntergefahren");
                  setState(KU_Jal_Nord,0);
                  setState(WZ_Jal_West,0);
                  setState(WZ_Jal_Sued,0);
              }
              setTimeout( function() {Jalousien_block = false;}, 1000);
              setState("Jalousien",50);
          }
      });
      
      

      HW:NUC (16 GB Ram)
      OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

      1 Antwort Letzte Antwort
      0
      Antworten
      • In einem neuen Thema antworten
      Anmelden zum Antworten
      • Älteste zuerst
      • Neuste zuerst
      • Meiste Stimmen


      Support us

      ioBroker
      Community Adapters
      Donate
      FAQ Cloud / IOT
      HowTo: Node.js-Update
      HowTo: Backup/Restore
      Downloads
      BLOG

      587

      Online

      32.7k

      Benutzer

      82.5k

      Themen

      1.3m

      Beiträge
      Community
      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
      ioBroker Community 2014-2025
      logo
      • Anmelden

      • Du hast noch kein Konto? Registrieren

      • Anmelden oder registrieren, um zu suchen
      • Erster Beitrag
        Letzter Beitrag
      0
      • Home
      • Aktuell
      • Tags
      • Ungelesen 0
      • Kategorien
      • Unreplied
      • Beliebt
      • GitHub
      • Docu
      • Hilfe