Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. FuXXz

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    F
    • Profile
    • Following 0
    • Followers 0
    • Topics 4
    • Posts 29
    • Best 0
    • Groups 0

    FuXXz

    @FuXXz

    0
    Reputation
    10
    Profile views
    29
    Posts
    0
    Followers
    0
    Following
    Joined Last Online

    FuXXz Follow

    Latest posts made by FuXXz

    • RE: [gelöst]Fehler bei subscribe(channel:"…

      Ich starte gerade mal alles neu und schau dann, was das original Script macht

      Nein, leider tut sich nichts. Alle Varianten des Scrips sehen so aus.

      Anzahl Fenster = 0

      Ich update erstmal iobroker und alle Adapter und schaue dann noch einmal
      990_unbenannt.png

      posted in Skripten / Logik
      F
      FuXXz
    • RE: [gelöst]Fehler bei subscribe(channel:"…

      Also ich nutze dieses Script, unverändert von der Script Seite http://www.iobroker.net/docu/?page_id=5158&lang=de

      Die HM Kontakte sind vom Typ "SHUTTER_CONTACT" die von Homematic IP auch

      Jedoch ist der Wert von State unterschiedlich. Bei HM = true/false und bei HMIP = CLOSED(0) "" und OPEN(1) ""

      Die Kontakte sind im Gewerk Fenster und tauchen im ioBroker auch auf.

      /* System Zahl Fenster
      
      zählt die Fenster in allen Räumen und meldet die offenen Fenster namentlich
      Daten kommen vom Gewerk 'Fenster'
      
      erstellt: 17.06.2015 nach diesem Vorbild: http://forum.iobroker.net/viewtopic.php?f=21&t=869&sid=f9ba5657489ff431a1990884f90779c1#p6564
      05.08.2015 STATE aus der Ausgabe entfernt nach Idee von stephan61 http://forum.iobroker.org/viewtopic.php?f=21&t=473&start=20#p9267
      02.12.2015 Fehler beseitigt bei Anzahl Fenster, wenn offen (Unterscheidung RHS und TFK)
                 Überprüfung des Zustandes (function fensterstatus) und Übergabe an Text
      25.01.2016 Fenster Nummer in Log korrigiert (+1)
      02.03.2016 Ansage für TTS aufbereitet
      02.07.2016 Regulärer Ausdruck (gierig) bei Aufbereitung für Ansage
      */
      
      function fensterstatus(zustand) {
          var meldung;
          switch (zustand) {
              case 1:
                  meldung = 'RHS gekippt';
              break;
              case 2:
                  meldung = 'RHS offen';
              break;
              case true:
                  meldung = 'TFK offen';
              break;
              default:
                  meldung = 'geschlossen';
              break;
          }
          return(meldung);
      }
      
      createState('zählen_Fenster.anzahlFenster', {     // wenn benötigt: Anzahl der vorhandenen Fenster
          type: 'number',
          min: 0,
          def: 0,
          role: 'value'
      });
      createState('zählen_Fenster.anzahlFensterauf', {  // Anzahl der Fenster, die auf sind als Variable unter Javascript.0 anlegen
          type: 'number',
          min: 0,
          def: 0,
          role: 'value'
      });
      createState('zählen_Fenster.textFensterauf', {      // Anzahl der offenen Fenster und deren Namen als Variable unter Javascript.0 anlegen
          type: 'string',
          def: ' ',
          role: 'value'
      });    
      
      var cacheSelectorState  = $('channel[state.id=*.STATE](functions="Fenster")');
      
      function countFenster(obj) {
           // Setzt die Zähler vor dem Durchlauf aller Elemente *.STATE im Gewerk Fenster auf 0
          var anzahlFenster = 0;
          var anzahlFensterauf = 0;
          var textFensterauf = [];
      
          log('Auslösender Aktor: ' + obj.id + ': ' + obj.newState.val);              // Info im Log, welcher Zustand sich geändert hat
      
          cacheSelectorState.each(function (id, i) {                                  // Schleife für jedes gefundenen Element *.STATE im Gewerk Fenster
              var status = getState(id).val;                                          // Zustand *.STATE abfragen (jedes Element)
              var obj    = getObject(id);
              var name = getObject(id).common.name;
              var devicename = name.substring(0, name.indexOf(".STATE"));             //.state aus Text entfernen
              if (status /*TFK*/ || status === 1 || status === 2 /*RHS*/) {  // wenn Zustand offen, dann wird die Anzahl der Fenster hochgezählt
                   ++anzahlFensterauf;
                   textFensterauf.push(devicename + ' (' + fensterstatus(status) + ')');  // Name und Zustand zum Array hinzufügen
              }                
              log('Fenster #' + (i+1) + ': ' + devicename + ' ' + fensterstatus(status)/* + ' (' + status + ' / ' + typeof status + ')'*/);
              ++anzahlFenster;                                                        // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
          }); 
      
          // Schleife ist durchlaufen. Im Log wird der aktuelle Status (Anzahl, davon an) ausgegeben
              log("Text: " + textFensterauf);
              log("Anzahl Fenster: " + anzahlFenster + " - davon Fenster auf: " +  anzahlFensterauf);
      
          // die ermittelten Werte werden als javascript.0\. Variable in ioBroker gespeichert (z.B. für die Verarbeitung in VIS)
          setState("zählen_Fenster.textFensterauf", textFensterauf.join(',
      '));    // Schreibt die aktuelle Namen der offenen Fenster
          setState("zählen_Fenster.anzahlFensterauf", textFensterauf.length);         // Schreibt die aktuelle Anzahl der offenen Fenster
          setState("zählen_Fenster.anzahlFenster", anzahlFenster);                    // Schreibt die aktuelle Anzahl der vorhandene Elemente im Gewerk Fenster
      }
      
      cacheSelectorState.on(function(obj) {    // bei Zustandänderung *. STATE im Gewerk Fenster
          countFenster(obj);
      });
      
      // Variable für Ansage aufbereiten
      createState('zählen_Fenster.textFensteraufAnsage', {
          type: 'string',
          def: ' ',
          role: 'value'
      });  
      // Anzahl der Fenster, die auf sind, für Ansage aufbereitet
      var idQuelle = 'javascript.0.zählen_Fenster.textFensterauf',
          idAnsage = 'javascript.0.zählen_Fenster.textFensteraufAnsage';
      
      on(idQuelle, function (obj) {
          var text = obj.state.val;
          text = text.replace(/RHS/g, 'Drehgriff');
          text = text.replace(/TFK/g, 'Reedkontakt');
          text = (text.length > 1) ? 'Geöffnete Fenster: ' + text : 'Alle Fenster sind verschlossen';
          setState(idAnsage, text);
      });
      
      posted in Skripten / Logik
      F
      FuXXz
    • RE: [gelöst]Fehler bei subscribe(channel:"…

      Hallo zusammen,

      kann mir vielleicht jemand helfen?

      Ich habe Homeativ IP optische Fensterkontakte und irgendwie funktioniert das Script damit nicht.

      Wie kann ich herausfinden woran das liegt?

      posted in Skripten / Logik
      F
      FuXXz
    • RE: CCU Systemprotokoll anzeigen lassen

      Dankeschön, ich werde das gleich mal testen 🙂

      Wie antiquiert Homematic doch manchmal ist 🙂

      posted in ioBroker Allgemein
      F
      FuXXz
    • RE: [Vorlage] Konfigurierte Script um States zu zahlen [lowbat, dimmer, shutter, chromecast, etc]

      Kann oder möchte hier niemand helfen?

      posted in Skripten / Logik
      F
      FuXXz
    • RE: CCU Systemprotokoll anzeigen lassen

      Hat keiner eine Idee? 😞

      posted in ioBroker Allgemein
      F
      FuXXz
    • CCU Systemprotokoll anzeigen lassen

      Hallo zusammen,

      gibt es die Möglichkeit das Systemprotokoll aus der CCU (also das unter Status und Bedienung > Systemprotokoll) als Fenster in vis anzuzeigen?

      Im Objektbrowser habe ich nichts gefunden, vielleicht habt ihr ja eine Idee?

      Viele Grüße

      posted in ioBroker Allgemein
      F
      FuXXz
    • RE: [Vorlage] Konfigurierte Script um States zu zahlen [lowbat, dimmer, shutter, chromecast, etc]

      Kann mir jemand helfen zu den Dimmern, noch die Schalter zu addieren?

      Folgende Zeile habe ich hinzugefügt, aber dann habe ich natürlich 2 Listen. Ich würde gerne on_lights mit allen Schaltern und Dimmern haben.

      addDeviceCounter("on_lights",      $('channel{TYPE=SWITCH}[state.id=*.STATE]'),          function(state){return state>0;});
      addDeviceCounter("on_lights2",     $('channel{TYPE=DIMMER}[state.id=*.LEVEL]'),          function(state){return state>0;});
      
      posted in Skripten / Logik
      F
      FuXXz
    • RE: [Vorlage] Konfigurierte Script um States zu zahlen [lowbat, dimmer, shutter, chromecast, etc]

      Was soll ich sagen :roll:

      Wird er nicht 😞

      posted in Skripten / Logik
      F
      FuXXz
    • RE: [Vorlage] Konfigurierte Script um States zu zahlen [lowbat, dimmer, shutter, chromecast, etc]

      Blind sind glaube ich Rolladen, in diesem Fall ist es ein Fensterkontakt.

      Aber dort steht Shutter_contact. Also müsste das doch laufen :roll:

      Etwas verwirrend im Script!

      open_windows sind dort shutter contact = Fensterkontakt

      open_shutter sind dort Blind = Rolladen

      Unter Objekte -> Javascript.0 ->deviceCounter ->open_shutters habe ich also Gesamtzahl der Rolladen, geöffnete und in der Liste die Namen

      Unter Objekte -> Javascript.0 ->deviceCounter ->open_windows habe ich counter und total bei 0 und die Liste ist leer.

      Ich besitze jedoch einen Fensterkontakt der auf Open (1) steht.

      {
        "_id": "hm-rpc.1.xxxxxxxxxxx1",
        "type": "channel",
        "common": {
          "name": "Fensterkontakt_1",
          "role": "sensor"
        },
        "native": {
          "TYPE": "SHUTTER_CONTACT",
          "SUBTYPE": "",
          "ADDRESS": "00109709A3B4AD:1",
          "RF_ADDRESS": 0,
          "CHILDREN": [],
          "PARENT": "00109709A3B4AD",
          "PARENT_TYPE": "HmIP-SWDO-I",
          "INDEX": 1,
          "AES_ACTIVE": 1,
          "PARAMSETS": [
            "MASTER",
            "VALUES",
            "LINK",
            "SERVICE"
      
      posted in Skripten / Logik
      F
      FuXXz
    Community
    Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
    The ioBroker Community 2014-2023
    logo