Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Generisches Zählscript

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.1k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.1k

[Vorlage] Generisches Zählscript

Scheduled Pinned Locked Moved Skripten / Logik
34 Posts 3 Posters 3.4k Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L looxer01

    Hi,

    Bisher hatte ich ein Zählscript im Einsatz, dass bei Änderungen auch immer Codingänderungen zur Folge hatte.
    Dies ist bei dem hier vorgestellten Zaehlscript nicht so, da die meisten Parameter einstellbar sind.

    Das Script ist recht variabel. Allerdings erfordert es auch Klarheit bezüglich der Selektion der Kanäle (was in Homematic den Gewerken entspricht). Ich habe z.B. bei mir auch meine Hue so eingebunden, die eben keine Homematic Geräte sind.

    Die aktiven Geräte werden in beliebig zu definierende Datenpunkte abgelegt inclusive Text oder JSON Datenpunkte. Damit sind diese auch in VIS gut darstellbar.

    Die Logik ist nicht fest verdrahtet sondern einstellbar. Daher ist es ein generisches Script

    Was macht das Script ?
    Es überprüft für zu definierende Datenpunkte ob ein Gerät eingeschaltet ist und speichert die Anzahl der Geräte, die eingeschaltet sind in die definierten Datenpunkte.
    Diese Datenpunkte können dann in VIS genutzt werden, um z.B. zu Zeigen wieviel Leuchten gerade eingeschaltet sind und welche das sind.

    Die relevanten Datepunkte werden so ausgewertet:

    • Datenpunkt = true --> Gerät eingeschaltet (z.B. bei Lampen, Fenster, Bewegungsmelder etc)
    • Datenpunkt > 0 --> Gerät eingeschaltet (z.B. bei Dimmer, Hue-Leuchten, Rollladen etc)

    Zur Einstellung sind 3 Tabellen zu definieren:

    • Datenpunkte
      hier werden die Anzahl Geräte Total und auch eingeschaltete Geräte gespeichert.
      Beispiel: 5 Rolladen Total davon sind 2 hochgefahren
    • Gruppierungen
      hier können Geräte unterschiedlicher Herkunft z.B. Dimmer oder Hue-Leuchten zu Gruppen wie z.B. Leuchten zusammengefasst werden. Normales licht, sowie Dimmer oder Hue Leuchten gehören im Prinzip ja im allgemeinen zu „Leuchten“
    • Selektoren
      Selektoren sind die Filter die definiert werden müssen um die entsprechenden Geräte zu finden und zu subscriben (also zu reagieren, wenn es eine Zustandsänderung gibt)
      für die meisten Fälle sollten die vordefnierten selektoren genügen.
      Allerdings ist darauf zu achten, dass die functions in den selektoren auch dem entspricht was sich in den objekten wiederfindet.
      im Prinzip ist es ein Filter auf die Objekte, was ja auch durch die Objektliste dann nachvollziebar ist

    Für mich ein wichtiges Script, dass flexibel ist und effizient. Die Verbindung zu VIS macht es extrem hilfreich.

    Beispiel:Summendarstellung:
    Zaehlscript_VIS1.JPG

    Beispiel: Einzeldarstellung:
    Zaehlscript_VIS2.JPG

    Ich hoffe, dass es dem einen oder anderen Anregung ist. Fragen sind natürlich willkommen.

    hier das script:
    zaehlscriptV4-8.txt
    vG Looxer

    sigi234S Online
    sigi234S Online
    sigi234
    Forum Testing Most Active
    wrote on last edited by
    #23

    @looxer01

    Hallo, MOTION wird nicht erkannt und 2 Mal angelegt?

    // Einstellungsbereich
    
    // Datenpunkte werden automatisch angelegt. Muss im Javascript Tree erfolgen, zwingend count, active, text und status müssen angelegt werden
    // Pfade für die Zählungsergebnisse
    // Achtung in allen 3 Tabellen muss Groß und Kleinschreibung berücksichtigt werden. Wenn in paths z.B. "MOTION" definiert ist, dann muss so auch in selectors definiert werden
    
    // CommonPath kann auch auf userdata gelegt werden. Einfach den Vorschlag übernehmen 
    const CommmonPath = "javascript.0.Counts.";
    //const CommmonPath = "0_userdata.0.Counts.";
    
    
    const paths = {
        Leuchten: {
            count: CommmonPath+'Leuchten.anzahlLichter',
            active: CommmonPath+'Leuchten.anzahlLichterAn',
            text: CommmonPath+'Leuchten.textLichterAn',
            status: CommmonPath+'Leuchten.Statusliste'
        },
        Fenster: {
            count: CommmonPath+'Fenster.anzahlFenster',
            active: CommmonPath+'Fenster.anzahlFensterauf',
            text: CommmonPath+'Fenster.textFensterauf',
            status: CommmonPath+'Fenster.Statusliste'
        },
        
        MOTION: {
            count: CommmonPath+'Counts.Motion.anzahlMotion',
            active: CommmonPath+'Motion.anzahlMotionAktiv',
            text: CommmonPath+'Motion.textMotionAktiv',
            status: CommmonPath+'Motion.Statusliste'
        },
        // Weitere Daenpunkte können hier hinzugefügt werden / löschen von Datenpunkten falls nicht benötigt
    };
    
    // Array für benutzerdefinierte Zusammenfassungen in die Zuvor definierten Datenpunkte, z.B. Dimmer Hue Lampen
    // Der name wird gemapped mit den Namen in der Tabelle paths - bedeutet die 3 Selektoren "Lampen,Dimmer,Hue" werden im Pfad unter "Leuchten" zusammengefasst.
    // Beispielsweise könnten auch Fenster und Rolladen zusammengefasst werden
    const groupings = {
        Leuchten: ['Lampen', 'Dimmer', 'Hue'], // "Lampen und Dimmer und Hue werden unter Leuchten zusammengefasst"
        // Weitere Zusammenfassungen können hier hinzugefügt werden / falls keine Groupings benötigt werden, dann ersetzen mit     const groupings = []
    };
    
    // Selectoren sind eine Art Filter um die richtigen Datenpunkte zu finden, die dann subscribed werden
    // Functions in iobroker entsprechen Gewerke in Homematic
    // Achtung die Namen aus den Datenpunkten muessen exakt mit den hier verwendeten Namen übereinstimmmen: also z.B. MOTION = MOTION
    // der update der Hue lampen dauert etwas länger, da die updates über die Hue-Bridge relativ langsam sind
    const selectors = {
        Lampen:     $('channel[state.id=*.STATE](functions=Licht)'), // allen Leuchten wurde das Gewerk "Licht zugeordnet aber nur für den relevanten Kanal in Homematic"
        Dimmer:     $('channel[state.id=*.LEVEL](functions=Licht)'),
        Hue:        $('channel[state.id=hue.0.*.on](functions=Hue)'), // in der objektliste habe ich den channels (Hue-Leuchten) die Funktion "Hue" zugeordnet
        Fenster:    $('channel[state.id=*.STATE](functions=Verschluss)'),
        MOTION:     $('channel[state.id=*.MOTION](functions=Sicherheit)')
     // Weitere Selektoren können hier hinzugefügt werden / löschen von Selektoren falls nicht benötigt
    }
    
    const ReCreateSubscriptionsonNEW = true; // bei Erkennung neuer Geräte werden subscriptions neu erstellt (Erkennung geht nur bei Homematic)
    
    const debug = true;
    const listSelectors = true; // listet das Ergebnis der Selektoren beimn Start des Programmes- dient zum Fehler finden falls die Zählung nicht funktioniert
    
    const logObjects = [];  // die hier angegebenen Objekte (aus den selectors) werden in einer excel-lesbaren Datei geloggt
    // Weitere Objekte können hinzugefügt werden, z.B.  const logObjects = ['MOTION','Fenster']; oder keine Objekte: const logObjects = []
    
    
    // Ende Einstellungsbereich
    

    Screenshot (973).png

    Screenshot (974).png

    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
    Immer Daten sichern!

    L 1 Reply Last reply
    0
    • sigi234S sigi234

      @looxer01

      Hallo, MOTION wird nicht erkannt und 2 Mal angelegt?

      // Einstellungsbereich
      
      // Datenpunkte werden automatisch angelegt. Muss im Javascript Tree erfolgen, zwingend count, active, text und status müssen angelegt werden
      // Pfade für die Zählungsergebnisse
      // Achtung in allen 3 Tabellen muss Groß und Kleinschreibung berücksichtigt werden. Wenn in paths z.B. "MOTION" definiert ist, dann muss so auch in selectors definiert werden
      
      // CommonPath kann auch auf userdata gelegt werden. Einfach den Vorschlag übernehmen 
      const CommmonPath = "javascript.0.Counts.";
      //const CommmonPath = "0_userdata.0.Counts.";
      
      
      const paths = {
          Leuchten: {
              count: CommmonPath+'Leuchten.anzahlLichter',
              active: CommmonPath+'Leuchten.anzahlLichterAn',
              text: CommmonPath+'Leuchten.textLichterAn',
              status: CommmonPath+'Leuchten.Statusliste'
          },
          Fenster: {
              count: CommmonPath+'Fenster.anzahlFenster',
              active: CommmonPath+'Fenster.anzahlFensterauf',
              text: CommmonPath+'Fenster.textFensterauf',
              status: CommmonPath+'Fenster.Statusliste'
          },
          
          MOTION: {
              count: CommmonPath+'Counts.Motion.anzahlMotion',
              active: CommmonPath+'Motion.anzahlMotionAktiv',
              text: CommmonPath+'Motion.textMotionAktiv',
              status: CommmonPath+'Motion.Statusliste'
          },
          // Weitere Daenpunkte können hier hinzugefügt werden / löschen von Datenpunkten falls nicht benötigt
      };
      
      // Array für benutzerdefinierte Zusammenfassungen in die Zuvor definierten Datenpunkte, z.B. Dimmer Hue Lampen
      // Der name wird gemapped mit den Namen in der Tabelle paths - bedeutet die 3 Selektoren "Lampen,Dimmer,Hue" werden im Pfad unter "Leuchten" zusammengefasst.
      // Beispielsweise könnten auch Fenster und Rolladen zusammengefasst werden
      const groupings = {
          Leuchten: ['Lampen', 'Dimmer', 'Hue'], // "Lampen und Dimmer und Hue werden unter Leuchten zusammengefasst"
          // Weitere Zusammenfassungen können hier hinzugefügt werden / falls keine Groupings benötigt werden, dann ersetzen mit     const groupings = []
      };
      
      // Selectoren sind eine Art Filter um die richtigen Datenpunkte zu finden, die dann subscribed werden
      // Functions in iobroker entsprechen Gewerke in Homematic
      // Achtung die Namen aus den Datenpunkten muessen exakt mit den hier verwendeten Namen übereinstimmmen: also z.B. MOTION = MOTION
      // der update der Hue lampen dauert etwas länger, da die updates über die Hue-Bridge relativ langsam sind
      const selectors = {
          Lampen:     $('channel[state.id=*.STATE](functions=Licht)'), // allen Leuchten wurde das Gewerk "Licht zugeordnet aber nur für den relevanten Kanal in Homematic"
          Dimmer:     $('channel[state.id=*.LEVEL](functions=Licht)'),
          Hue:        $('channel[state.id=hue.0.*.on](functions=Hue)'), // in der objektliste habe ich den channels (Hue-Leuchten) die Funktion "Hue" zugeordnet
          Fenster:    $('channel[state.id=*.STATE](functions=Verschluss)'),
          MOTION:     $('channel[state.id=*.MOTION](functions=Sicherheit)')
       // Weitere Selektoren können hier hinzugefügt werden / löschen von Selektoren falls nicht benötigt
      }
      
      const ReCreateSubscriptionsonNEW = true; // bei Erkennung neuer Geräte werden subscriptions neu erstellt (Erkennung geht nur bei Homematic)
      
      const debug = true;
      const listSelectors = true; // listet das Ergebnis der Selektoren beimn Start des Programmes- dient zum Fehler finden falls die Zählung nicht funktioniert
      
      const logObjects = [];  // die hier angegebenen Objekte (aus den selectors) werden in einer excel-lesbaren Datei geloggt
      // Weitere Objekte können hinzugefügt werden, z.B.  const logObjects = ['MOTION','Fenster']; oder keine Objekte: const logObjects = []
      
      
      // Ende Einstellungsbereich
      

      Screenshot (973).png

      Screenshot (974).png

      L Offline
      L Offline
      looxer01
      wrote on last edited by looxer01
      #24

      @sigi234

      sauber, da habe ich bei der letzten Version einen Fehler bei den Motion Paths gemacht (kopierfehler)
      ist mit 4.7 behoben.

      • Die Struktur kannst du einfach löschen (die Komplette Counts Struktur oder nur die falschen Datenpunkte)
      • Dann das Programm starten
      • Bitte das log posten. Wenn es dann keine Motion Geräte in der Liste gibt, dann müssen wir in die channel-Suche gehen

      vG Looxer

      edit:
      so sieht es bei mir aus in den Datenpunkten. Sicherheit ist dem Kanal1 zugeordnet, nicht aber den andere
      motion1.JPG

      sigi234S 1 Reply Last reply
      0
      • L looxer01

        @sigi234

        sauber, da habe ich bei der letzten Version einen Fehler bei den Motion Paths gemacht (kopierfehler)
        ist mit 4.7 behoben.

        • Die Struktur kannst du einfach löschen (die Komplette Counts Struktur oder nur die falschen Datenpunkte)
        • Dann das Programm starten
        • Bitte das log posten. Wenn es dann keine Motion Geräte in der Liste gibt, dann müssen wir in die channel-Suche gehen

        vG Looxer

        edit:
        so sieht es bei mir aus in den Datenpunkten. Sicherheit ist dem Kanal1 zugeordnet, nicht aber den andere
        motion1.JPG

        sigi234S Online
        sigi234S Online
        sigi234
        Forum Testing Most Active
        wrote on last edited by sigi234
        #25

        @looxer01 sagte in [Vorlage] Generisches Zählscript:

        Bitte das log posten. Wenn es dann keine Motion Geräte in der Liste gibt, dann müssen wir in die channel-Suche gehen

        javascript.0	08:47:33.696	info	Start JavaScript script.js.Test.Fenster2 (Javascript/js)
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Liste der Lampen-Geräte:
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Ende der Lampen-Liste
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2:
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Liste der Dimmer-Geräte:
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Ende der Dimmer-Liste
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2:
        javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Liste der Hue-Geräte:
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Bad.on | Name: Bad.on
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Büro.on | Name: Büro.on
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Garten.on | Name: Garten.on
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Hue_lightstrip_Küche.on | Name: Hue lightstrip Küche.on
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.WC.on | Name: WC.on
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: Ende der Hue-Liste
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2:
        javascript.0	08:47:33.718	info	script.js.Test.Fenster2: Liste der Fenster-Geräte:
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1818500.1.STATE | Name: Haustuer.STATE
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1826414.1.STATE | Name: Terrassentuer.STATE
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: - ID: hm-rpc.0.OEQ0926852.1.STATE | Name: Badfenster.STATE
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Ende der Fenster-Liste
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2:
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Liste der MOTION-Geräte:
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Ende der MOTION-Liste
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2:
        javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Alle Namen stimmen überein.
        javascript.0	08:47:33.720	info	script.js.Test.Fenster2: registered 10 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
        javascript.0	08:47:33.810	info	script.js.Test.Fenster2: Anzahl Leuchten: 5 | Leuchten aktiv: 1 | Auslöser: Initial | Status: null
        javascript.0	08:47:33.810	info	script.js.Test.Fenster2: Anzahl Fenster: 3 | Fenster aktiv: 0 | Auslöser: Initial | Status: null
        javascript.0	08:47:33.811	info	script.js.Test.Fenster2: Anzahl MOTION: 0 | MOTION aktiv: 0 | Auslöser: Initial | Status: null
        
        {
          "type": "state",
          "common": {
            "name": "Bewegungsmelder Vorraum.MOTION",
            "role": "sensor.motion",
            "def": false,
            "type": "boolean",
            "read": true,
            "write": false
          },
          "native": {
            "MIN": false,
            "OPERATIONS": 5,
            "MAX": true,
            "FLAGS": 1,
            "ID": "MOTION",
            "TYPE": "BOOL",
            "DEFAULT": false,
            "CONTROL": "MOTIONDETECTOR_TRANSCEIVER.MOTION_DETECTION_STATE"
          },
          "from": "system.adapter.hm-rega.0",
          "user": "system.user.admin",
          "ts": 1710772136355,
          "_id": "hm-rpc.1.00091A49A082FC.1.MOTION",
          "acl": {
            "object": 1636,
            "state": 1636,
            "owner": "system.user.admin",
            "ownerGroup": "system.group.administrator"
          }
        }
        

        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
        Immer Daten sichern!

        L 1 Reply Last reply
        0
        • sigi234S sigi234

          @looxer01 sagte in [Vorlage] Generisches Zählscript:

          Bitte das log posten. Wenn es dann keine Motion Geräte in der Liste gibt, dann müssen wir in die channel-Suche gehen

          javascript.0	08:47:33.696	info	Start JavaScript script.js.Test.Fenster2 (Javascript/js)
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Liste der Lampen-Geräte:
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Ende der Lampen-Liste
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2:
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Liste der Dimmer-Geräte:
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Ende der Dimmer-Liste
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2:
          javascript.0	08:47:33.717	info	script.js.Test.Fenster2: Liste der Hue-Geräte:
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Bad.on | Name: Bad.on
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Büro.on | Name: Büro.on
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Garten.on | Name: Garten.on
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.Hue_lightstrip_Küche.on | Name: Hue lightstrip Küche.on
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: - ID: hue.0.WC.on | Name: WC.on
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: Ende der Hue-Liste
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2:
          javascript.0	08:47:33.718	info	script.js.Test.Fenster2: Liste der Fenster-Geräte:
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1818500.1.STATE | Name: Haustuer.STATE
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1826414.1.STATE | Name: Terrassentuer.STATE
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: - ID: hm-rpc.0.OEQ0926852.1.STATE | Name: Badfenster.STATE
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Ende der Fenster-Liste
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2:
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Liste der MOTION-Geräte:
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Ende der MOTION-Liste
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2:
          javascript.0	08:47:33.719	info	script.js.Test.Fenster2: Alle Namen stimmen überein.
          javascript.0	08:47:33.720	info	script.js.Test.Fenster2: registered 10 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
          javascript.0	08:47:33.810	info	script.js.Test.Fenster2: Anzahl Leuchten: 5 | Leuchten aktiv: 1 | Auslöser: Initial | Status: null
          javascript.0	08:47:33.810	info	script.js.Test.Fenster2: Anzahl Fenster: 3 | Fenster aktiv: 0 | Auslöser: Initial | Status: null
          javascript.0	08:47:33.811	info	script.js.Test.Fenster2: Anzahl MOTION: 0 | MOTION aktiv: 0 | Auslöser: Initial | Status: null
          
          {
            "type": "state",
            "common": {
              "name": "Bewegungsmelder Vorraum.MOTION",
              "role": "sensor.motion",
              "def": false,
              "type": "boolean",
              "read": true,
              "write": false
            },
            "native": {
              "MIN": false,
              "OPERATIONS": 5,
              "MAX": true,
              "FLAGS": 1,
              "ID": "MOTION",
              "TYPE": "BOOL",
              "DEFAULT": false,
              "CONTROL": "MOTIONDETECTOR_TRANSCEIVER.MOTION_DETECTION_STATE"
            },
            "from": "system.adapter.hm-rega.0",
            "user": "system.user.admin",
            "ts": 1710772136355,
            "_id": "hm-rpc.1.00091A49A082FC.1.MOTION",
            "acl": {
              "object": 1636,
              "state": 1636,
              "owner": "system.user.admin",
              "ownerGroup": "system.group.administrator"
            }
          }
          
          L Offline
          L Offline
          looxer01
          wrote on last edited by looxer01
          #26

          @sigi234
          schwer zu sehen wo das Problem ist.
          Auf jeden Fall liegt es am Selector bzw an der Suchmaske. und die kann man mal verändern:

          z.B.

              MOTION:     $('channel[state.id=*1.MOTION](functions=Sicherheit)')
          

          Kannst du bitte auch checken, ob die Schreibweise der Functions wirklich 100% übereinstimmt ?

          Hast du das Gewerk in der CCU entsprechend zugeordnet ?

          vG Looxer

          Edit: oder die Brutalo-Version:

              MOTION:     $('channel[state.id=*.MOTION]')
          

          allerdings ist das ein Performance Problem aber wir können damit sehen, ob evt die Functions das Problem sind

          sigi234S 1 Reply Last reply
          0
          • L looxer01

            @sigi234
            schwer zu sehen wo das Problem ist.
            Auf jeden Fall liegt es am Selector bzw an der Suchmaske. und die kann man mal verändern:

            z.B.

                MOTION:     $('channel[state.id=*1.MOTION](functions=Sicherheit)')
            

            Kannst du bitte auch checken, ob die Schreibweise der Functions wirklich 100% übereinstimmt ?

            Hast du das Gewerk in der CCU entsprechend zugeordnet ?

            vG Looxer

            Edit: oder die Brutalo-Version:

                MOTION:     $('channel[state.id=*.MOTION]')
            

            allerdings ist das ein Performance Problem aber wir können damit sehen, ob evt die Functions das Problem sind

            sigi234S Online
            sigi234S Online
            sigi234
            Forum Testing Most Active
            wrote on last edited by
            #27

            @looxer01 sagte in [Vorlage] Generisches Zählscript:

            Edit: oder die Brutalo-Version:

            Da kommt was:

            javascript.0	09:41:19.432	info	Stopping script script.js.Test.Fenster2
            javascript.0	09:41:19.439	info	Start JavaScript script.js.Test.Fenster2 (Javascript/js)
            javascript.0	09:41:19.758	info	script.js.Test.Fenster2: Liste der Lampen-Geräte:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Lampen-Liste
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der Dimmer-Geräte:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Dimmer-Liste
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der Hue-Geräte:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Bad.on | Name: Bad.on
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Büro.on | Name: Büro.on
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Garten.on | Name: Garten.on
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Hue_lightstrip_Küche.on | Name: Hue lightstrip Küche.on
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.WC.on | Name: WC.on
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Hue-Liste
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der Fenster-Geräte:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1818500.1.STATE | Name: Haustuer.STATE
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1826414.1.STATE | Name: Terrassentuer.STATE
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.0.OEQ0926852.1.STATE | Name: Badfenster.STATE
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Fenster-Liste
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der MOTION-Geräte:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.1.00091A49A082FC.1.MOTION | Name: Bewegungsmelder Vorraum.MOTION
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der MOTION-Liste
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
            javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Alle Namen stimmen überein.
            javascript.0	09:41:19.760	info	script.js.Test.Fenster2: registered 11 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
            javascript.0	09:41:19.813	info	script.js.Test.Fenster2: Anzahl Leuchten: 5 | Leuchten aktiv: 1 | Auslöser: Initial | Status: null
            javascript.0	09:41:19.814	info	script.js.Test.Fenster2: Anzahl Fenster: 3 | Fenster aktiv: 0 | Auslöser: Initial | Status: null
            javascript.0	09:41:19.814	info	script.js.Test.Fenster2: Anzahl MOTION: 1 | MOTION aktiv: 0 | Auslöser: Initial | Status: null
            
            

            Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
            Immer Daten sichern!

            L 1 Reply Last reply
            0
            • sigi234S sigi234

              @looxer01 sagte in [Vorlage] Generisches Zählscript:

              Edit: oder die Brutalo-Version:

              Da kommt was:

              javascript.0	09:41:19.432	info	Stopping script script.js.Test.Fenster2
              javascript.0	09:41:19.439	info	Start JavaScript script.js.Test.Fenster2 (Javascript/js)
              javascript.0	09:41:19.758	info	script.js.Test.Fenster2: Liste der Lampen-Geräte:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Lampen-Liste
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der Dimmer-Geräte:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Dimmer-Liste
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der Hue-Geräte:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Bad.on | Name: Bad.on
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Büro.on | Name: Büro.on
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Garten.on | Name: Garten.on
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.Hue_lightstrip_Küche.on | Name: Hue lightstrip Küche.on
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hue.0.WC.on | Name: WC.on
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Hue-Liste
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der Fenster-Geräte:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1818500.1.STATE | Name: Haustuer.STATE
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.0.NEQ1826414.1.STATE | Name: Terrassentuer.STATE
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.0.OEQ0926852.1.STATE | Name: Badfenster.STATE
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der Fenster-Liste
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Liste der MOTION-Geräte:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: - ID: hm-rpc.1.00091A49A082FC.1.MOTION | Name: Bewegungsmelder Vorraum.MOTION
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Ende der MOTION-Liste
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2:
              javascript.0	09:41:19.759	info	script.js.Test.Fenster2: Alle Namen stimmen überein.
              javascript.0	09:41:19.760	info	script.js.Test.Fenster2: registered 11 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
              javascript.0	09:41:19.813	info	script.js.Test.Fenster2: Anzahl Leuchten: 5 | Leuchten aktiv: 1 | Auslöser: Initial | Status: null
              javascript.0	09:41:19.814	info	script.js.Test.Fenster2: Anzahl Fenster: 3 | Fenster aktiv: 0 | Auslöser: Initial | Status: null
              javascript.0	09:41:19.814	info	script.js.Test.Fenster2: Anzahl MOTION: 1 | MOTION aktiv: 0 | Auslöser: Initial | Status: null
              
              
              L Offline
              L Offline
              looxer01
              wrote on last edited by
              #28

              @sigi234
              ok, dann liegt es also an den Functions.
              kannst du das bitte überprüfen in der CCU. Schreibweise leerstelle am Ende oder so was

              sigi234S 1 Reply Last reply
              0
              • L looxer01

                @sigi234
                ok, dann liegt es also an den Functions.
                kannst du das bitte überprüfen in der CCU. Schreibweise leerstelle am Ende oder so was

                sigi234S Online
                sigi234S Online
                sigi234
                Forum Testing Most Active
                wrote on last edited by
                #29

                @looxer01 sagte in [Vorlage] Generisches Zählscript:

                @sigi234
                ok, dann liegt es also an den Functions.
                kannst du das bitte überprüfen in der CCU. Schreibweise leerstelle am Ende oder so was

                Jetzt ist die CCU down

                Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                Immer Daten sichern!

                L 1 Reply Last reply
                0
                • sigi234S sigi234

                  @looxer01 sagte in [Vorlage] Generisches Zählscript:

                  @sigi234
                  ok, dann liegt es also an den Functions.
                  kannst du das bitte überprüfen in der CCU. Schreibweise leerstelle am Ende oder so was

                  Jetzt ist die CCU down

                  L Offline
                  L Offline
                  looxer01
                  wrote on last edited by
                  #30

                  @sigi234
                  das kann aber nicht an dem Statement liegen. Das findet ja ausschliesslich in iobroker statt.
                  Ich hab es auch bei mir mehrfach probiert.

                  sigi234S 1 Reply Last reply
                  0
                  • L looxer01

                    @sigi234
                    das kann aber nicht an dem Statement liegen. Das findet ja ausschliesslich in iobroker statt.
                    Ich hab es auch bei mir mehrfach probiert.

                    sigi234S Online
                    sigi234S Online
                    sigi234
                    Forum Testing Most Active
                    wrote on last edited by sigi234
                    #31

                    @looxer01 sagte in [Vorlage] Generisches Zählscript:

                    @sigi234
                    das kann aber nicht an dem Statement liegen. Das findet ja ausschliesslich in iobroker statt.
                    Ich hab es auch bei mir mehrfach probiert.

                    Ich starte sie gerade neu

                    Sieht alles ok aus

                    Screenshot (975).png

                    Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                    Immer Daten sichern!

                    L 1 Reply Last reply
                    0
                    • sigi234S sigi234

                      @looxer01 sagte in [Vorlage] Generisches Zählscript:

                      @sigi234
                      das kann aber nicht an dem Statement liegen. Das findet ja ausschliesslich in iobroker statt.
                      Ich hab es auch bei mir mehrfach probiert.

                      Ich starte sie gerade neu

                      Sieht alles ok aus

                      Screenshot (975).png

                      L Offline
                      L Offline
                      looxer01
                      wrote on last edited by looxer01
                      #32

                      @sigi234

                      mmmh. dann vielleicht die Instanzen hm-rega und hm.rpc.1
                      neu starten.
                      mir gehen die Ideen aus. Zumal es ja bei mir genauso funktioniert.

                      sigi234S 1 Reply Last reply
                      1
                      • L looxer01

                        @sigi234

                        mmmh. dann vielleicht die Instanzen hm-rega und hm.rpc.1
                        neu starten.
                        mir gehen die Ideen aus. Zumal es ja bei mir genauso funktioniert.

                        sigi234S Online
                        sigi234S Online
                        sigi234
                        Forum Testing Most Active
                        wrote on last edited by
                        #33

                        @looxer01 sagte in [Vorlage] Generisches Zählscript:

                        mmmh. dann vielleicht die Instanzen hm-rega und hm.rpc.1
                        neu starten.

                        Das war es.👍

                        Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                        Immer Daten sichern!

                        1 Reply Last reply
                        1
                        • L Offline
                          L Offline
                          looxer01
                          wrote on last edited by
                          #34

                          Hi,
                          Version 4.8 ist hochgeladen. / Changelog im script
                          vG Looxer

                          1 Reply Last reply
                          0
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          460

                          Online

                          32.4k

                          Users

                          81.4k

                          Topics

                          1.3m

                          Posts
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                          ioBroker Community 2014-2025
                          logo
                          • Login

                          • Don't have an account? Register

                          • Login or register to search.
                          • First post
                            Last post
                          0
                          • Recent
                          • Tags
                          • Unread 0
                          • Categories
                          • Unreplied
                          • Popular
                          • GitHub
                          • Docu
                          • Hilfe