Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Tester
    4. Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kilasat @dslraser last edited by

      @dslraser also meinst Du dann einen eigenen Datepunkt erstellen und dann prüfen falls alle Fenster geschlossen dann DP auf true und falls noch welche geöffnet dann auf false.

      dslraser 2 Replies Last reply Reply Quote 0
      • dslraser
        dslraser Forum Testing Most Active @kilasat last edited by dslraser

        @kilasat
        nein, ich meine sowas in der Art (ist etwas länger und schickt das Ergebnis an Telegram. Die Ergebnisse könnte man ja auch in eigene Datenpunkte schreiben und die dann für iQontrol benutzen.

        Bildschirmfoto 2019-07-16 um 11.00.53.png

        Ergebnis z.B.:

        Screenshot_20190716-112105_Telegram.jpg

        Oder das bekannte Fenster zählen Script aus dem Forum. (sollte in der Suche zu finden sein)

        BBTown K 3 Replies Last reply Reply Quote 1
        • dslraser
          dslraser Forum Testing Most Active @kilasat last edited by dslraser

          @kilasat

          z.B. hier

          Hier für Licht, ist das gleiche Prinzip.
          oder hier findest Du auch einiges

          1 Reply Last reply Reply Quote 1
          • BBTown
            BBTown @dslraser last edited by BBTown

            @dslraser sagte in [Neuer Adapter] Visualisierung iQontrol:

            Oder das bekannte Fenster zählen Script aus dem Forum.

            Genaus so habe ich es umgesetzt.
            Auf meiner Startseite habe ich eine Übersicht ob irgendeine Tür oder irgendein Fenster offen ist
            27959d58-4b17-40cd-a411-6bee95e93960-grafik.png

            Wenn ich auf eine der Kacheln klicke, komme ich auf meine Übersichtsseite:
            ca3c8add-52b9-485c-8ed1-4b3a145607d8-grafik.png

            1 Reply Last reply Reply Quote 1
            • Paulchen67
              Paulchen67 last edited by

              Hallo Zusammen,

              erst mal ein Lob an den Entwickler des Adapter.
              Finde ihn prima und bei mir läuft er auch tadellos.

              Eine Anregung hätte ich allerdings. Es wäre schön wenn man
              invertieren könnte, also aus Ein wird dann Aus.

              Könnte man das umsetzen?

              s.bormann 1 Reply Last reply Reply Quote 0
              • sigi234
                sigi234 Forum Testing Most Active @kilasat last edited by

                @kilasat

                Ich habe es mit einen Skript gemacht und dann als Wert anzeigen:

                Screenshot (3676).png

                K 1 Reply Last reply Reply Quote 1
                • K
                  kilasat @sigi234 last edited by

                  @sigi234 mit welchem script? Das aus dem Forum. Was der dslraser weiter oben gepostet hatte?

                  sigi234 1 Reply Last reply Reply Quote 0
                  • sigi234
                    sigi234 Forum Testing Most Active @kilasat last edited by

                    @kilasat sagte in [Neuer Adapter] Visualisierung iQontrol:

                    @sigi234 mit welchem script? Das aus dem Forum. Was der dslraser weiter oben gepostet hatte?

                    // ######## SKRIPT EINSTELLUNGEN ########
                    
                    var debug = true;
                    
                    
                    // ######### STATES ANLEGEN #########
                    
                    createState('offene_Fenster.Gesamt.offeneFenster', 0);
                    createState('offene_Fenster.Gesamt.Fenster', 0); 
                    createState('offene_Fenster.Gesamt.Text');
                    
                    var cacheSelectorFenster  = $('channel[state.id=*.STATE](functions=Verschluss)');
                    
                    
                    function countFenster(obj) {
                         // Setzt die Zähler vor dem Durchlauf aller Elemente auf 0
                        var anzahlFenster = 0;
                        var anzahlFensterauf = 0;
                        var textFensterauf = [];
                    
                       cacheSelectorFenster.each(function (id, i) {                 // Schleife für jedes gefundenen Element *.STATE im Gewerk Verschluss
                            var status = getState(id).val;                          // Zustand *.STATE abfragen (jedes Element)
                            
                        if(debug) log("Status ist: "+status);
                            
                            var obj    = getObject(id);
                            if (status == 1 || status === true)  {    // wenn Zustand true (HM norm) oder "1" (bei HmIP), dann wird die Anzahl der Fenster hochgezählt
                            ++anzahlFensterauf;
                            textFensterauf.push(obj.common.name);    // Zu Array hinzufügen
                            }                
                       if(debug) log("Fenster Nr. " + i + ": " + getObject(id).common.name + ": " + status);
                            ++anzahlFenster;                                        // Zählt die Anzahl der vorhandenen Fenster unabhängig vom Status
                        }); 
                    
                    
                       setState("offene_Fenster.Gesamt.offeneFenster", anzahlFensterauf);    // Schreibt die aktuelle Anzahl 
                       setState("offene_Fenster.Gesamt.Fenster", anzahlFenster);        // Schreibt die aktuelle Anzahl der vorhandene Elemente
                       setState("offene_Fenster.Gesamt.Text", textFensterauf.join(',<br>'));    // Schreibt die aktuelle Namen   
                    }
                    
                    cacheSelectorFenster.on(function(obj) {    // bei Zustandänderung *. STATE im Gewerk Fenster
                       countFenster(obj);
                    });
                    
                    // START
                    
                    countFenster();
                    
                    K 1 Reply Last reply Reply Quote 1
                    • K
                      kilasat @dslraser last edited by

                      @dslraser cool. Das Script schaue ich mir an.
                      Wäre es möglich, dass du mir das Blockly exportierst?

                      Bzw man sieht nicht wie die Ausgabe genau stattfindet.

                      Danke und Gruss
                      Alex

                      1 Reply Last reply Reply Quote 0
                      • K
                        kilasat @sigi234 last edited by

                        @sigi234

                        Besten Dank. Was muss ich hier noch anpassen damit es läuft? Habe Xiaomi Kontakte.

                        dslraser sigi234 2 Replies Last reply Reply Quote 0
                        • dslraser
                          dslraser Forum Testing Most Active @kilasat last edited by

                          @kilasat

                          ich habe mal eben was zusammengesteckt...
                          (ist für meine HMIP Fensterkontakte ohne Unterscheidung ob kipp/auf. Ich schaue hier nur nach offenen Fenstern und der Gesamtanzahl der Fenster) HMIP hat STATE (Großschreibung) und meine Aufzählung (functions) heißt Fenster.

                          Javascript Adapter ist 4.1.14
                          iQontrol ist 0.0.45

                          <xml xmlns="http://www.w3.org/1999/xhtml">
                            <variables>
                              <variable type="" id="GBP*^g/p%y(A!z9wYIAp">Anzahl_Fenster_Gesamt</variable>
                              <variable type="" id=".Yia3JB]R6UM8||#rtEy">offene_Fenster</variable>
                              <variable type="" id="k1V%Om2^GrHwhE.r-Ooe">Fenster</variable>
                            </variables>
                            <block type="procedures_defcustomnoreturn" id="EJhG@Zv:/.r@(DzIU,:6" x="-337" y="-313">
                              <mutation statements="false"></mutation>
                              <field name="NAME">Datenpunkte_erstellen</field>
                              <field name="SCRIPT">Ly9EYXRlbnB1bmt0IEFuemFobCBGZW5zdGVyIGdlc2FtdApjcmVhdGVTdGF0ZSgiRWlnZW5lX0RhdGVucHVua3RlLjE0RmVuc3Rlci5GZW5zdGVyX0FuemFobF9nZXNhbXQiLCcwJywgewogICAgbmFtZTogJ0ZlbnN0ZXJfQW56YWhsX2dlc2FtdCcsIAogICAgdHlwZTogJ251bWJlcicsIAogICAgcmVhZDogIHRydWUsIAogICAgd3JpdGU6IGZhbHNlLAp9KTsKLy9EYXRlbnB1bmt0IEFuemFobCBGZW5zdGVyIG9mZmVuCmNyZWF0ZVN0YXRlKCJFaWdlbmVfRGF0ZW5wdW5rdGUuMTRGZW5zdGVyLkZlbnN0ZXJfQW56YWhsX29mZmVuIiwnMCcsIHsKICAgIG5hbWU6ICdGZW5zdGVyX0FuemFobF9vZmZlbicsCiAgICB0eXBlOiAnbnVtYmVyJywgCiAgICByZWFkOiAgdHJ1ZSwgCiAgICB3cml0ZTogZmFsc2UsCn0pOw==</field>
                              <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment>
                            </block>
                            <block type="procedures_callcustomnoreturn" id="X+4?!FV=R(MUJl~Yi2L." x="-338" y="-262">
                              <mutation name="Datenpunkte_erstellen"></mutation>
                              <next>
                                <block type="on_ext" id="V1kpsdPQC:|sufssEQ*z">
                                  <mutation items="1"></mutation>
                                  <field name="CONDITION">ne</field>
                                  <field name="ACK_CONDITION"></field>
                                  <value name="OID0">
                                    <shadow type="field_oid" id="#4w([E@;X_!loV@[Dy]:">
                                      <field name="oid">default</field>
                                    </shadow>
                                    <block type="selector" id="?)@(:rQgwvNK-P2_ANwr">
                                      <field name="TEXT">channel[state.id=STATE](functions='Fenster')</field>
                                    </block>
                                  </value>
                                  <statement name="STATEMENT">
                                    <block type="variables_set" id="qa97CpeWKQ%uN2N-R|r,">
                                      <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Fenster_Gesamt</field>
                                      <value name="VALUE">
                                        <block type="math_number" id="6(KoRd0Q#{nzJM3dX62)">
                                          <field name="NUM">0</field>
                                        </block>
                                      </value>
                                      <next>
                                        <block type="variables_set" id="hd@3RL`}?+y^=cZX*kfB">
                                          <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">offene_Fenster</field>
                                          <value name="VALUE">
                                            <block type="math_number" id="FyhKfYo#Cn@M)jG/qfhC">
                                              <field name="NUM">0</field>
                                            </block>
                                          </value>
                                          <next>
                                            <block type="controls_forEach" id=".m+JeoExV[1]:#qZCzBq">
                                              <field name="VAR" id="k1V%Om2^GrHwhE.r-Ooe" variabletype="">Fenster</field>
                                              <value name="LIST">
                                                <block type="selector" id="]=0?,b+1!^B3f.Qx7{zl">
                                                  <field name="TEXT">channel[state.id=STATE](functions='Fenster')</field>
                                                </block>
                                              </value>
                                              <statement name="DO">
                                                <block type="math_change" id="w-AGl|nLX9gm8g(ZNQhz">
                                                  <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Fenster_Gesamt</field>
                                                  <value name="DELTA">
                                                    <shadow type="math_number" id="MR[}3[zrLeXB1v0X;wSm">
                                                      <field name="NUM">1</field>
                                                    </shadow>
                                                  </value>
                                                  <next>
                                                    <block type="controls_if" id="kFe#]pQ7akH6[,!wu4,8">
                                                      <value name="IF0">
                                                        <block type="logic_compare" id=".9mBUt}8pUY02GvL+1rX">
                                                          <field name="OP">GT</field>
                                                          <value name="A">
                                                            <block type="get_value_var" id="O6YMOK$=G[k/s}#h[F(y">
                                                              <field name="ATTR">val</field>
                                                              <value name="OID">
                                                                <shadow type="text" id="H+Si!dLFm_55HjmGoqp+">
                                                                  <field name="TEXT"></field>
                                                                </shadow>
                                                                <block type="variables_get" id="*r*n~D4DFTcmV^IQ]ak~">
                                                                  <field name="VAR" id="k1V%Om2^GrHwhE.r-Ooe" variabletype="">Fenster</field>
                                                                </block>
                                                              </value>
                                                            </block>
                                                          </value>
                                                          <value name="B">
                                                            <block type="math_number" id="%@9u.Wel0{9lZsIubw52">
                                                              <field name="NUM">0</field>
                                                            </block>
                                                          </value>
                                                        </block>
                                                      </value>
                                                      <statement name="DO0">
                                                        <block type="math_change" id="/{nU_fYTJAjqq;iPylsx">
                                                          <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">offene_Fenster</field>
                                                          <value name="DELTA">
                                                            <shadow type="math_number" id="$5[-hLU3]|W5Iq9-k*Fx">
                                                              <field name="NUM">1</field>
                                                            </shadow>
                                                          </value>
                                                        </block>
                                                      </statement>
                                                    </block>
                                                  </next>
                                                </block>
                                              </statement>
                                              <next>
                                                <block type="update" id="TGU9Lp,C0O-et)3!wE0T">
                                                  <mutation delay_input="false"></mutation>
                                                  <field name="OID">javascript.0.Eigene_Datenpunkte.14Fenster.Fenster_Anzahl_gesamt</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE">
                                                    <block type="variables_get" id="LDD}d$t@L!$Hl?^(._6u">
                                                      <field name="VAR" id="GBP*^g/p%y(A!z9wYIAp" variabletype="">Anzahl_Fenster_Gesamt</field>
                                                    </block>
                                                  </value>
                                                  <next>
                                                    <block type="update" id="cp36p9J_H=MvrYz(K0;q">
                                                      <mutation delay_input="false"></mutation>
                                                      <field name="OID">javascript.0.Eigene_Datenpunkte.14Fenster.Fenster_Anzahl_offen</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE">
                                                        <block type="variables_get" id="95h*1t+vKZs6mraN20Ht">
                                                          <field name="VAR" id=".Yia3JB]R6UM8||#rtEy" variabletype="">offene_Fenster</field>
                                                        </block>
                                                      </value>
                                                    </block>
                                                  </next>
                                                </block>
                                              </next>
                                            </block>
                                          </next>
                                        </block>
                                      </next>
                                    </block>
                                  </statement>
                                </block>
                              </next>
                            </block>
                          </xml>
                          

                          Bildschirmfoto 2019-07-16 um 14.28.45.png

                          Diese beiden Datenpunkte werden bei mir angelegt.

                          Bildschirmfoto 2019-07-16 um 14.28.14.png

                          in iQontrol habe ich es dann so eingefügt

                          Bildschirmfoto 2019-07-16 um 14.33.50.png

                          Bildschirmfoto 2019-07-16 um 14.34.08.png

                          Bildschirmfoto 2019-07-16 um 14.34.18.png

                          Sieht dann so aus

                          2019-07-16 14.35.47.jpg

                          2019-07-16 14.35.58.jpg

                          Ein weiterer Klick öffnet die Seite mit allen Fenstern

                          2019-07-16 14.37.43.jpg

                          K 3 Replies Last reply Reply Quote 2
                          • K
                            kilasat @dslraser last edited by

                            @dslraser ich habe es noch nicht im Detail anschauen können. Aber ich bedanke mich bereits sehr für die Unterstützung.

                            1 Reply Last reply Reply Quote 0
                            • K
                              kilasat @dslraser last edited by

                              @dslraser

                              12a1867b-694e-43b3-a27a-8d9d7d787525-image.png

                              Ich weiss nicht warum es die Anzahl der Fenster nicht zählt. Habe eigentlich alles angepasst.

                              000486a6-49f3-49de-beee-0afb617fe041-image.png

                              b38ab54d-c438-4332-8ed4-ed9125763cb5-image.png

                              8448ccea-c986-41d6-827c-d20744f7cb00-image.png

                              JS Adapter neu gestartet.

                              BBTown 1 Reply Last reply Reply Quote 0
                              • BBTown
                                BBTown @kilasat last edited by

                                @kilasat hast Du im Blockly bei den unteren beiden Einträgen auch noch einmal "Fenster_Anzahl_gesamt" und "Fenster_Anzahl_offen" aus den Objektübersicht manuelle rausgesucht?
                                Dort ist auch ein anderer Pfad hinterlegt

                                K 1 Reply Last reply Reply Quote 0
                                • K
                                  kilasat @BBTown last edited by

                                  @BBTown ja das habe ich. Aber ich habe nicht gesehen, dass bei Xiaomi TFK der STATE = state ist.

                                  channelstate.id=state

                                  Habe es angepasst, passiert immer noch nichts. Muss ich zum Triggern ein Fenster öffnen?

                                  1 Reply Last reply Reply Quote 0
                                  • K
                                    kilasat last edited by

                                    7c9f5fbd-a2bd-4fb0-a67d-f772aa03f41d-image.png

                                    mit *.state habe ich es schon probiert. Hmm...

                                    dslraser 1 Reply Last reply Reply Quote 0
                                    • dslraser
                                      dslraser Forum Testing Most Active @kilasat last edited by

                                      @kilasat
                                      bei Dir ist Fenster = fenster, oder ? (klein geschrieben--hinten)

                                      bei mir groß
                                      Bildschirmfoto 2019-07-16 um 17.26.34.png

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        kilasat @dslraser last edited by

                                        @dslraser es war klein. Habs nun auf Gross geändert. Ohne erfolgt.

                                        dslraser 1 Reply Last reply Reply Quote 0
                                        • dslraser
                                          dslraser Forum Testing Most Active @kilasat last edited by dslraser

                                          @kilasat
                                          zeig mal ein RAW von einem Fenster

                                          hier HMIP

                                          {
                                            "type": "state",
                                            "common": {
                                              "def": "CLOSED",
                                              "type": "number",
                                              "read": true,
                                              "write": false,
                                              "min": "CLOSED",
                                              "max": "OPEN",
                                              "states": {
                                                "0": "CLOSED",
                                                "1": "OPEN"
                                              },
                                              "unit": "\"\"",
                                              "role": "value.window",
                                              "name": "Wohnzimmerfenster links.STATE"
                                            },
                                            "native": {
                                              "MIN": "CLOSED",
                                              "UNIT": "\"\"",
                                              "OPERATIONS": 5,
                                              "MAX": "OPEN",
                                              "FLAGS": 1,
                                              "ID": "STATE",
                                              "TAB_ORDER": 0,
                                              "TYPE": "ENUM",
                                              "DEFAULT": "CLOSED",
                                              "VALUE_LIST": [
                                                "CLOSED",
                                                "OPEN"
                                              ],
                                              "CONTROL": "DOOR_SENSOR.STATE"
                                            },
                                            "from": "system.adapter.hm-rega.0",
                                            "user": "system.user.admin",
                                            "ts": 1559315348552,
                                            "_id": "hm-rpc.0.xxx.1.STATE",
                                            "acl": {
                                              "object": 1636,
                                              "state": 1636,
                                              "owner": "system.user.admin",
                                              "ownerGroup": "system.group.administrator"
                                            }
                                          }
                                          
                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            kilasat @dslraser last edited by

                                            @dslraser

                                            {
                                            "_id": "mihome.0.devices.magnet_158d000315c1a9.state",
                                            "common": {
                                            "name": "Is opened",
                                            "role": "state",
                                            "write": false,
                                            "read": true,
                                            "type": "boolean"
                                            },
                                            "type": "state",
                                            "native": {},
                                            "from": "system.adapter.mihome.0",
                                            "user": "system.user.admin",
                                            "ts": 1562618691659,
                                            "acl": {
                                            "object": 1636,
                                            "state": 1636,
                                            "owner": "system.user.admin",
                                            "ownerGroup": "system.group.administrator"
                                            }
                                            }

                                            dslraser 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            889
                                            Online

                                            31.6k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            5598740
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo