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. Skripten / Logik
  4. [Frage]Aufzählungen/Gewerke STATES nicht CHANNELS abfragen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Frage]Aufzählungen/Gewerke STATES nicht CHANNELS abfragen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
3 Beiträge 3 Kommentatoren 873 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.
  • P Offline
    P Offline
    pix
    schrieb am zuletzt editiert von
    #1

    Hallo,

    im Skript zum Zählen der eingeschalteten Lichter http://forum.iobroker.net/viewtopic.php … 79c1#p6625 frage ich alle dem Gewerk Licht zugeordneten Channels mit der State.id STATE oder LEVEL ab````
    var cacheSelectorState = $('channelstate.id=*.STATE'); // Gewerk Licht
    var cacheSelectorLevel = $('channelstate.id=*.LEVEL');

    Diese werden dann später im Skript überwacht und bei Änderung zu true bzw. >0% gezählt. Soweit klar.
    
    Ich nutze nun für die Steuerung meines Lichtes bei vielen Dimmern (wenn vorhanden) die virtuellen Kanäle. Da kann es durchaus vorkommen, dass einer der Kanäle 1-3 einen LEVEL Datenpunkt hat, der auf über 0% steht und das Licht wegen der Verknüpfungsregeln trotzdem aus ist. Für genau diesen Fall gibt es ja den Datenpunkt LEVEL_REAL. Der zeigt über alle Kanäle den gleichen Wert und zwar die wirkliche Helligkeit der angeschlossenen Leuchtmittel, level real eben :-D
    
    Da liegt es nahe, diesen Datenpunkt im Lichter-zählen-Skript abzufragen. Das geht ja auch sehr leicht analog zu obigen Code mit````
    var cacheSelectorLevelReal = $('channel[state.id=*.LEVEL_REAL](functions="Licht")');
    

    Problem: Alle Dimmer, die einen LEVEL_REAL Datenpunkt haben, haben natürlich auch drei LEVEL Datenpunkte und werden daher mehrfach gezählt.

    Ich habe versucht, das zu umgehen. Ich habe im Reiter Aufzählungen eine neue Aufzählung/Gewerk "countLights" angelegt und nur jeweils die relevanten Datenpunkte der Geräte zugeordnet (Schalter -> STATE, alte Dimmer ohne virtuelle Kanäle -> LEVEL, neue Dimmer mit virtuellen Kanälen LEVEL_REAL).
    261_bildschirmfoto_2017-11-12_um_14.06.18.jpg
    Den Code geändert:

    var cacheSelectorState = $('channel[state.id=*.STATE](functions="countLights")'); // Gewerk countLights
    var cacheSelectorLevel = $('channel[state.id=*.LEVEL](functions="countLights")'); 
    var cacheSelectorLevelReal = $('channel[state.id=*.LEVEL_REAL](functions="countLights")');
    
    

    Funktioniert nicht.

    Beim Vergleich mit der dem Homematic-Gewerk Licht fällt mir auf, dass in dieser Aufzählung die Kanäle gelistet sind, nicht die States.
    261_bildschirmfoto_2017-11-12_um_14.06.35.jpg

    Frage: Wie muss ich den Selektor abändern, damit die States durchgezählt werden?

    Gruß

    Pix

    ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      tempestas
      schrieb am zuletzt editiert von
      #2

      kommt mir vor wie meine Hue Versuche. Da hat er auch immer alles gedoppelt, egal ob ich nur in einigen Bereichen als function "Hue" eingetragen hatte.

      Lösung habe ich leider nicht gefunden (bzw ich habe manuell ein Array erstellt)

      <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

      1 Antwort Letzte Antwort
      0
      • andreaskosA Offline
        andreaskosA Offline
        andreaskos
        schrieb am zuletzt editiert von
        #3

        > Frage: Wie muss ich den Selektor abändern, damit die States durchgezählt werden?

        Das würde mich auch interessieren! Wenn nämlich die Datem aus einer CCU übernommen werden, dann werden in den Gewerken (also den enum.functions) die Einträge als "channels" und nicht als "states" eingetragen. Manuell habe ich dazu aber noch keine Möglichkeit gefunden. Weiß hier jemand Abhilfe?

        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

        607

        Online

        32.6k

        Benutzer

        82.2k

        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