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.
    • O
      ok1 @s.bormann last edited by

      @s-bormann sagte in [Neuer Adapter] Visualisierung iQontrol:

      Hi,
      habe es in der 0.2.2 mal versucht, so umzusetzen. Klappt es? Bitte berichten!
      LG

      Ich habe 2 Szenarien durchgespielt - leider ohne Erfolg, CONTROL_MODE wird nicht geschrieben.
      Im Einzelnen:

      Zunächst habe ich die von mir ausserhalb von FHEM angelegten Datenpunkte AUTO_MODE und BOOST_MODE wieder gelöscht. Somit verbleibt nur CONTROL_MODE.

      b7e5fa59-557f-4ee4-8d11-10cd75f26f4f-image.png
      Dieser hat folgende RAW:

      {
        "from": "system.adapter.admin.0",
        "user": "system.user.admin",
        "ts": 1568133924280,
        "common": {
          "name": "CONTROL_MODE",
          "role": "text",
          "type": "string",
          "read": true,
          "write": true,
          "custom": {
            "iqontrol.0": {
              "enabled": true,
              "readonly": false,
              "invert": false,
              "confirm": false,
              "unit": "",
              "unit_zero": "",
              "unit_one": "",
              "min": "",
              "max": "",
              "step": "",
              "type": "string",
              "role": "",
              "targetValueId": "",
              "states": {
                "auto": "AUTO-MODE",
                "manual": "MANU-MODE",
                "boost": "BOOST-MODE"
              }
            }
          }
        },
        "native": {},
        "acl": {
          "object": 1638,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator",
          "state": 1638
        },
        "_id": "javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.CONTROL_MODE",
        "type": "state"
      }
      
      1. Szenario: mit Angabe des separat angelegten Datenpunkts in IQontrol:
        4f934b38-cc87-4250-bc89-06d8df601625-image.png
        Modaler Dialog öffnet sich korrekt mit Anzeige der Modi, der Datenpunkt CONTROL_MODE wird aber nicht beschrieben
        1c65de7b-956a-40ac-914c-5281ec5c4a29-image.png

      2. Szenario: in IQontrol wieder zurück auf ursprüglichen FHEM-Datenpunkt
        2bf9d95e-f3da-4dbb-9a21-f6541c9a46b4-image.png
        mit der originalen RAW-Definiton vom FHEM-Adapter:

      fhem.0.Thermostat_Studio_1_Clima.controlMode
      {
        "_id": "fhem.0.Thermostat_Studio_1_Clima.controlMode",
        "type": "state",
        "common": {
          "name": "Thermostat_Studio_1_Clima controlMode",
          "type": "string",
          "role": "state",
          "read": true,
          "write": true,
          "states": {
            "auto": "auto",
            "manual": "manual",
            "boost": "boost",
            "day": "day",
            "night": "night"
          }
        },
        "native": {
          "Name": "Thermostat_Studio_1_Clima",
          "Attribute": "controlMode",
          "possibleSets": true,
          "states": true,
          "Readings": true
        },
        "from": "system.adapter.fhem.0",
        "user": "system.user.admin",
        "ts": 1557337130616,
        "acl": {
          "object": 1636,
          "state": 1636,
          "owner": "system.user.admin",
          "ownerGroup": "system.group.administrator"
        }
      }
      

      und entspr. Berechtigungsfreigabe
      118ed07a-c373-4e52-8ba0-380f289be5af-image.png

      Modaler Dialog öffnet sich korrekt mit Anzeige der Modi, der Datenpunkt wird aber nicht beschrieben
      1c65de7b-956a-40ac-914c-5281ec5c4a29-image.png

      Also noch leider keine Erfolgsmeldung. Die Anzeige des Modalen Dialogs funktioniert bereits, es fehlt nur noch der schreibende Teil in den Datenpunkt. Ich würde mich sehr freuen, wenn Du dir das noch einmal anschauen könntest. VG, ok

      s.bormann O 2 Replies Last reply Reply Quote 0
      • s.bormann
        s.bormann Most Active @ok1 last edited by s.bormann

        Hm, schade, dann werde ich wohl noch mal ran müssen.

        1 Reply Last reply Reply Quote 0
        • M
          mucki @s.bormann last edited by

          @s-bormann sagte in [Neuer Adapter] Visualisierung iQontrol:

          ype auf booelan fest. Nicht invertieren. D

          Also nur so? Damit erscheint leider ebenfalls immer das Symbol mit der schwachen Batterie (ob invertiert oder nicht).
          Bildschirmfoto 2019-09-14 um 14.10.15.png

          s.bormann 1 Reply Last reply Reply Quote 0
          • L
            luder last edited by

            Hallo,

            ich lese hier schon länger intensiv mit, den Adapter finde ich wirklich sehr gelungen.
            Z.Zt. verwende ich eine Oberfläche Vis im "Material Design" von Uhula .

            Stelle mir jetzt die Frage ob ich umstellen sollte, 2 Oberflächen parallel wollte ich nicht verwenden.
            Bevor ich umsteige noch ein paar kurze Fragen:

            • ist geplant noch weitere Grundkacheln (z.B. 3fache Breite einer aktuellen) zu erstellen, dachte z.B. an eine Uhr, Wetterinfos, usw.
            • gibt es eine Möglichkeit eine Kachel mit einem Link zu einer anderen Seite zu setzen
            • kann man in Zukunft ggf. auch Bilder von einer Webcam darstellen

            Brauche das alles nicht Morgen, doch bevor ich umstelle wäre es interesant zu wissen ob sowas überhaupt geplant ist.

            VG
            luder

            Marco Laser 1 Reply Last reply Reply Quote 0
            • O
              ok1 @ok1 last edited by ok1

              @ok1 sagte in [Neuer Adapter] Visualisierung iQontrol:

              Also noch leider keine Erfolgsmeldung. Die Anzeige des Modalen Dialogs funktioniert bereits, es fehlt nur noch der schreibende Teil in den Datenpunkt. Ich würde mich sehr freuen, wenn Du dir das noch einmal anschauen könntest. VG, ok

              Ich habe mit der Debug-Console F12 weitergesucht.
              Die Variablenfehler (nicht gesetzt, undefined) treten nicht mehr auf. Aber es scheint noch bei der Erkennung, ob ausschließlich der Datenpunkt CONTROL_MODE vorhanden ist noch etwas nicht zu funktionieren.

              Bei Aufruf des Views wird tatsächlich nur der Datenpunkt

              Fetched Object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.CONTROL_MODE
              

              gelesen.

              Aber bei Aufruf der Dialog-Box versucht IQontrol immer noch die AUTO_MODE, MANU_MODE und BOOST_MODE zu beschreiben, obwohl sie nicht mehr exisitieren.

              46af5ff0-ff4e-484d-af78-e4c2d026b405-image.png
              (siehe die FetchObjects im roten Rahmen, und die setStates mit den Pfeilen wenn man die Buttons klickt)

              Hier das gesamte Log über Aufruf des Views und der Dialog-Box:

              index.js:467 Socket connected - getStarted
              index.js:583 Fetched Object: iqontrol.0.Options
              index.js:522 Options received.
              index.js:644 Fetch object: iqontrol.0.Toolbar.0000__Home
              index.js:650 Fetched Object: iqontrol.0.Toolbar.0000__Home
              index.js:644 Fetch object: iqontrol.0.Toolbar.0001__Rooms
              index.js:650 Fetched Object: iqontrol.0.Toolbar.0001__Rooms
              index.js:644 Fetch object: iqontrol.0.Toolbar.0002__Functions
              index.js:650 Fetched Object: iqontrol.0.Toolbar.0002__Functions
              index.js:526 Toolbar received.
              index.js:543 Toolbar sorted.
              index.js:545 Toolbar rendered.
              index.js:2352 renderView iqontrol.0.Views.Studio, updateOnly: false
              index.js:644 Fetch object: iqontrol.0.Views.Studio
              index.js:555 Home rendered.
              index.js:650 Fetched Object: iqontrol.0.Views.Studio
              index.js:644 Fetch object: iqontrol.0.Views.Studio.0000__Thermostate
              index.js:650 Fetched Object: iqontrol.0.Views.Studio.0000__Thermostate
              index.js:5287 resizeDevicesToFitScreen with zoom-factor 0.9344262295081968
              index.js:644 Fetch object: iqontrol.0.Views.Home
              index.js:3407 12 states fetched while rendering view. Updating view.
              index.js:2352 renderView iqontrol.0.Views.Studio, updateOnly: updateOnlyAfterFetchingStatesWhileRenderingView
              index.js:644 Fetch object: fhem.0.Thermostat_Studio_1_Clima.desired-temp
              index.js:644 Fetch object: fhem.0.Thermostat_Studio_1_Clima.measured-temp
              index.js:644 Fetch object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.CONTROL_MODE
              index.js:644 Fetch object: fhem.0.Thermostat_Studio_1_Clima.boostTime
              index.js:644 Fetch object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioPartyModus
              index.js:644 Fetch object: fhem.0.Thermostat_Studio_1.battery
              index.js:644 Fetch object: fhem.0.Thermostat_Studio_1.Activity
              index.js:650 Fetched Object: iqontrol.0.Views.Home
              index.js:650 Fetched Object: fhem.0.Thermostat_Studio_1_Clima.desired-temp
              index.js:650 Fetched Object: fhem.0.Thermostat_Studio_1_Clima.measured-temp
              index.js:650 Fetched Object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.CONTROL_MODE
              index.js:650 Fetched Object: fhem.0.Thermostat_Studio_1_Clima.boostTime
              index.js:650 Fetched Object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioPartyModus
              index.js:650 Fetched Object: fhem.0.Thermostat_Studio_1.battery
              index.js:650 Fetched Object: fhem.0.Thermostat_Studio_1.Activity
              index.js:3431 Starting marquee observer
              index.js:644 Fetch object: iqontrol.0.Views.Home.0000__ioBroker uptime
              index.js:650 Fetched Object: iqontrol.0.Views.Home.0000__ioBroker uptime
              index.js:644 Fetch object: iqontrol.0.Views.Functions
              index.js:654 Object not found
              index.js:549 Toolbar Pressuremenus created
              index.js:3489 PRESSURE start
              index.js:3514 	PRESSURE change 0.02|0
              index.js:3514 	PRESSURE change 0.04|0.02
              index.js:3514 	PRESSURE change 0.06|0.04
              index.js:3514 	PRESSURE change 0.08|0.06
              index.js:3514 	PRESSURE change 0.1|0.08
              index.js:3514 	PRESSURE change 0.12000000000000001|0.1
              index.js:3514 	PRESSURE change 0.14|0.12000000000000001
              index.js:3514 	PRESSURE change 0.16|0.14
              index.js:3514 	PRESSURE change 0.18|0.16
              index.js:3472 CLICK
              index.js:644 Fetch object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.MANU_MODE
              index.js:644 Fetch object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.AUTO_MODE
              index.js:644 Fetch object: javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.BOOST_MODE
              index.js:644 Fetch object: fhem.0.Thermostat_Studio_1_Clima.ValvePosition
              index.js:654 Object not found
              index.js:3504 PRESSURE end
              index.js:654 Object not found
              index.js:654 Object not found
              index.js:5101 4 additional states fetched while rendering dialog.
              index.js:650 Fetched Object: fhem.0.Thermostat_Studio_1_Clima.ValvePosition
              index.js:692 >>>>>> setState javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.AUTO_MODE: true --> true
              index.js:720        converted state to string. New value is: true
              index.js:1238 >> ack: false val: true newVal: true
              index.js:1238 >> ack: false val: true newVal: true
              index.js:692 >>>>>> setState javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.MANU_MODE: 5 --> 5
              index.js:720        converted state to string. New value is: 5
              index.js:1238 >> ack: false val: 5 newVal: 5
              index.js:1238 >> ack: false val: 5 newVal: 5
              index.js:692 >>>>>> setState javascript.0.Heizungssteuerung.IQontrolThermostatStudioControlMode.BOOST_MODE: true --> true
              index.js:720        converted state to string. New value is: true
              index.js:1238 >> ack: false val: true newVal: true
              index.js:1238 >> ack: false val: true newVal: true
              index.js:784 << preventUpdate dexpired.
              index.js:784 << preventUpdate dexpired.
              index.js:784 << preventUpdate dexpired.
              
              

              VG,ok

              s.bormann 1 Reply Last reply Reply Quote 0
              • Marco Laser
                Marco Laser @luder last edited by

                @luder also zu dem ersten kann ich dir leider nix sagen, aber das zweite geht definitiv heute schon, als pop up oder in neuem Tab/Fenster und das dritte müsste auch gehen.

                1 Reply Last reply Reply Quote 0
                • s.bormann
                  s.bormann Most Active @mucki last edited by

                  @mucki sagte in [Neuer Adapter] Visualisierung iQontrol:

                  @s-bormann sagte in [Neuer Adapter] Visualisierung iQontrol:

                  ype auf booelan fest. Nicht invertieren. D

                  Also nur so? Damit erscheint leider ebenfalls immer das Symbol mit der schwachen Batterie (ob invertiert oder nicht).
                  Bildschirmfoto 2019-09-14 um 14.10.15.png

                  Habe in der neuen 0.2.3 ein Handling für diesen seltsamen states-string eingebaut. Vielleicht lag es daran?
                  Deaktiviere bitte noch mal den custom-dialog und speichere. Dann versuche noch einmal den type auf boolean festzulegen.
                  Klappt es jetzt?

                  1 Reply Last reply Reply Quote 0
                  • s.bormann
                    s.bormann Most Active @ok1 last edited by

                    @ok1 So neue Version 0.2.3 ist online - nächster Versuch mit dem CONTROL_MODE.... Ich hoffe, es klappt! Sorry für dieses try'n'error.

                    dslraser O 3 Replies Last reply Reply Quote 0
                    • dslraser
                      dslraser Forum Testing Most Active @s.bormann last edited by

                      @s-bormann sagte in [Neuer Adapter] Visualisierung iQontrol:

                      CONTROL_MODE.

                      bei mir funktioniert es nun. Es wird umgeschaltet.

                      Bildschirmfoto 2019-09-15 um 09.50.54.png

                      Jetzt eine neue Frage. Wenn ich den BOOST_STATE hinzufüge, dann geht der Dialog nicht auf ?
                      (HMIP)

                      {
                       "type": "state",
                       "common": {
                         "def": false,
                         "type": "boolean",
                         "read": false,
                         "write": true,
                         "role": "switch.boost",
                         "name": "Heizung Wohnzimmer INT0000001:1.BOOST_MODE"
                       },
                       "native": {
                         "MIN": false,
                         "OPERATIONS": 6,
                         "MAX": true,
                         "FLAGS": 1,
                         "ID": "BOOST_MODE",
                         "TYPE": "BOOL",
                         "DEFAULT": false,
                         "CONTROL": "HEATING_CONTROL_HMIP.BOOST_MODE"
                       },
                       "from": "system.adapter.hm-rpc.2",
                       "user": "system.user.admin",
                       "ts": 1568532780430,
                       "_id": "hm-rpc.2.INT0000001.1.BOOST_MODE",
                       "acl": {
                         "object": 1636,
                         "state": 1636,
                         "owner": "system.user.admin",
                         "ownerGroup": "system.group.administrator"
                       }
                      }
                      

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

                        @s-bormann
                        hier noch aus der Console.

                        Mit hinzugefügten Boost_Staate

                        Bildschirmfoto 2019-09-15 um 10.03.13.png

                        ohne Boost_State, aber nach dem aktualisieren der Seite (automatik und manuall schalten funktioniert, es wird anscheinend nach boost_state gesucht, aber nicht gefunden ? )

                        Bildschirmfoto 2019-09-15 um 10.13.39.png

                        s.bormann 1 Reply Last reply Reply Quote 0
                        • O
                          ok1 @s.bormann last edited by

                          @s-bormann
                          ja, bei mir wird der Datenpunkt auch geschrieben ! Allerdings nur wenn er auch exakt CONTROL_MODE heisst.

                          Bei dem von mir selbst ausserhalb von FHEM angelegten Datenpunkts (weiter oben im Thread unter Szenario 1)
                          0c19806b-e79f-4e2b-b96a-aeb0976b67ff-image.png
                          funktioniert es. Dort habe ich den Datenpunkt genauso benannt.
                          Bei Wahl des entsprechenden vom FHEM-Adapter erzeugten Datenpunkts in FHEM (Szenario 2 == Normalfall)
                          99a455c1-5fee-44dd-ad73-4fca3b995f6b-image.png
                          liest IQontrol nicht den tatsächlichen Namen des Datenpunktes aus der IQontrol-Config, sondern überschreibt den Namen. Aus "controlMode" wird dann "CONTROL_MODE", was zu einem "undefined" Fehler im Javascript führt.
                          33294e28-fa9b-498e-a762-1a177fd94251-image.png

                          Also nur noch eine Kleinigkeit und dann sollte es funktionieren .... VG, ok

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

                            @s-bormann

                            ich habe eben eine ganze Weile gesucht, warum ein neuer Button (Knopf) plötzlich anders funktioniert als alle anderen die ich bisher erstellt habe.

                            das steht bei allen "alten" Button die ich bisher erstellt habe.

                            javascript.0.01Heiko.Eigene_Datenpunkte.05Telegram.Eingangskamera: true --> true
                            index.js:720        converted state to boolean. New value is: true
                            

                            Bisher habe ich alle Button auf wurde aktualisiert in Blockly getriggert. Bisher habe ich auch nur Button gesehen die immer true sind und quasi nur aktualisiert werden.

                            In einem neuem Blockly (wo der Button exakt genau so erstellt wurde wie alle anderen vorher auch)
                            macht iQontol plötzlich das hier

                            javascript.0.01Heiko.Eigene_Datenpunkte.05Telegram.Standort_Heiko: true --> 
                            index.js:720        converted state to boolean. New value is: false
                            

                            Warum ist das jetzt so ?

                            Wenn ich jetzt auf wurde aktualisiert im Blockly triggere, dann wird zweimal aktualisiert, weil einmal von false auf true (converted) und dann wieder auf false.

                            Bug oder gewollt ?

                            s.bormann 1 Reply Last reply Reply Quote 0
                            • s.bormann
                              s.bormann Most Active @dslraser last edited by

                              @dslraser sagte in [Neuer Adapter] Visualisierung iQontrol:

                              @s-bormann

                              ich habe eben eine ganze Weile gesucht, warum ein neuer Button (Knopf) plötzlich anders funktioniert als alle anderen die ich bisher erstellt habe.

                              das steht bei allen "alten" Button die ich bisher erstellt habe.

                              javascript.0.01Heiko.Eigene_Datenpunkte.05Telegram.Eingangskamera: true --> true
                              index.js:720        converted state to boolean. New value is: true
                              

                              Bisher habe ich alle Button auf wurde aktualisiert in Blockly getriggert. Bisher habe ich auch nur Button gesehen die immer true sind und quasi nur aktualisiert werden.

                              In einem neuem Blockly (wo der Button exakt genau so erstellt wurde wie alle anderen vorher auch)
                              macht iQontol plötzlich das hier

                              javascript.0.01Heiko.Eigene_Datenpunkte.05Telegram.Standort_Heiko: true --> 
                              index.js:720        converted state to boolean. New value is: false
                              

                              Warum ist das jetzt so ?

                              Wenn ich jetzt auf wurde aktualisiert im Blockly triggere, dann wird zweimal aktualisiert, weil einmal von false auf true (converted) und dann wieder auf false.

                              Bug oder gewollt ?

                              Bug

                              gewollt

                              😉

                              Wird in der nächsten Version gefixed 🙂

                              1 Reply Last reply Reply Quote 1
                              • s.bormann
                                s.bormann Most Active @dslraser last edited by

                                @dslraser sagte in [Neuer Adapter] Visualisierung iQontrol:

                                @s-bormann
                                hier noch aus der Console.

                                Mit hinzugefügten Boost_Staate

                                Bildschirmfoto 2019-09-15 um 10.03.13.png

                                ohne Boost_State, aber nach dem aktualisieren der Seite (automatik und manuall schalten funktioniert, es wird anscheinend nach boost_state gesucht, aber nicht gefunden ? )

                                Bildschirmfoto 2019-09-15 um 10.13.39.png

                                Hi,
                                kannst Du mal bitte in der Console bei der Fehlermeldung auf das index.js:1223 klicken und schauen, wo genau in der Zeile der Fehler ist? Im Moment sehe ich noch nicht, wo genau der Fehler steckt.

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

                                  @s-bormann

                                  function updateState(stateId, ignorePreventUpdate){
                                  	//Invert (ioBroker -> iQontrol - the opposite way is inside setState-Function)
                                  	if(usedObjects[stateId]  && typeof usedObjects[stateId].common !== udef && typeof usedObjects[stateId].common.custom !== udef && typeof usedObjects[stateId].common.custom[namespace] !== udef && typeof usedObjects[stateId].common.custom[namespace].invert !== udef && usedObjects[stateId].common.custom[namespace].invert == true) {
                                  		if(states[stateId] && typeof states[stateId].val !== udef && !states[stateId].isInverted) switch(typeof states[stateId].val){
                                  			case "boolean":
                                  			console.log("Inverting boolean state " + stateId + " from " + states[stateId].val + "...");
                                  			states[stateId].val = !states[stateId].val;
                                  			states[stateId].isInverted = true;
                                  			console.log("...to " + states[stateId].val);
                                  			break;
                                  			
                                  			case "number":
                                  			console.log("Inverting number state " + stateId + " from " + states[stateId].val + "...");
                                  			if(typeof usedObjects[stateId] !== udef && typeof usedObjects[stateId].common.min !== udef) var min = usedObjects[stateId].common.min;
                                  			if(typeof usedObjects[stateId] !== udef && typeof usedObjects[stateId].common.custom !== udef && typeof usedObjects[stateId].common.custom[namespace] !== udef && typeof usedObjects[stateId].common.custom[namespace].min !== udef && usedObjects[stateId].common.custom[namespace].min !== "") result.min = usedObjects[stateId].common.custom[namespace].min;
                                  			if(typeof usedObjects[stateId] !== udef && typeof usedObjects[stateId].common.max !== udef) var max = usedObjects[stateId].common.max;
                                  			if(typeof usedObjects[stateId] !== udef && typeof usedObjects[stateId].common.custom !== udef && typeof usedObjects[stateId].common.custom[namespace] !== udef && typeof usedObjects[stateId].common.custom[namespace].max !== udef && usedObjects[stateId].common.custom[namespace].max !== "") result.max = usedObjects[stateId].common.custom[namespace].max;
                                  			if(typeof min !== udef && typeof max !== udef){
                                  				states[stateId].val = max - (states[stateId].val - min);
                                  				states[stateId].isInverted = true;
                                  				console.log("...to " + states[stateId].val);
                                  			} else {
                                  				console.log("...aborted inverting, because min or max is missing");
                                  			}
                                  			break;
                                  			
                                  			case "string":
                                  			console.log("Inverting string state " + stateId + " is not supported!");
                                  			break;	
                                  
                                  			default:
                                  			console.log("Inverting state " + stateId + " is impossible - type not known: " + typeof states[stateId].val);
                                  		}
                                  	}
                                  	if(preventUpdate[stateId]){
                                  		console.log(">> ack: " + states[stateId].ack + " val: " + states[stateId].val + " newVal: " + preventUpdate[stateId].newVal);
                                  	}
                                  	if (preventUpdate[stateId] && states[stateId].ack && typeof states[stateId].val != udef && states[stateId].val != null && states[stateId].val.toString() == preventUpdate[stateId].newVal.toString()) { //An ack-true value has reached the new value - preventUpdate can be cancelled
                                  		console.log("<< ack-val reached new val: preventUpdate regular ended.");
                                  		$("[data-iQontrol-Device-ID='" + preventUpdate[stateId].deviceId + "'] .iQontrolDeviceLoading").removeClass("active");
                                  		clearTimeout(preventUpdate[stateId].timerId);
                                  		delete preventUpdate[stateId];
                                  	}
                                  	if(viewUpdateFunctions[stateId]) for (i = 0; i < viewUpdateFunctions[stateId].length; i++){
                                  		if(!preventUpdate[stateId] || ignorePreventUpdate) {
                                  			viewUpdateFunctions[stateId][i](stateId);
                                  		}
                                  	}
                                  	if(dialogUpdateFunctions[stateId]) for (i = 0; i < dialogUpdateFunctions[stateId].length; i++){
                                  		if(!preventUpdate[stateId] || ignorePreventUpdate == "ignorePreventUpdateForDialog") {
                                  			dialogUpdateFunctions[stateId][i](stateId);
                                  		}
                                  	}
                                  }
                                  
                                  
                                  s.bormann 1 Reply Last reply Reply Quote 0
                                  • s.bormann
                                    s.bormann Most Active @dslraser last edited by

                                    @dslraser Mach mal bitte einen Screenshot, statt das raus zu kopieren, denn eigentlich müsste der Fehler rot unterstrichen sein (aktuell weiß ich nur, dass der Fehler in Zeile 1223 steckt, aber nicht, an welcher Stelle in dieser Zeile)

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

                                      @s-bormann
                                      geht nicht alles drauf, aber hier ist es unterstrichen

                                      Bildschirmfoto 2019-09-15 um 22.03.13.png

                                      s.bormann 1 Reply Last reply Reply Quote 0
                                      • s.bormann
                                        s.bormann Most Active @ok1 last edited by

                                        @ok1 sagte in [Neuer Adapter] Visualisierung iQontrol:

                                        @s-bormann
                                        ja, bei mir wird der Datenpunkt auch geschrieben ! Allerdings nur wenn er auch exakt CONTROL_MODE heisst.

                                        Bei dem von mir selbst ausserhalb von FHEM angelegten Datenpunkts (weiter oben im Thread unter Szenario 1)
                                        0c19806b-e79f-4e2b-b96a-aeb0976b67ff-image.png
                                        funktioniert es. Dort habe ich den Datenpunkt genauso benannt.
                                        Bei Wahl des entsprechenden vom FHEM-Adapter erzeugten Datenpunkts in FHEM (Szenario 2 == Normalfall)
                                        99a455c1-5fee-44dd-ad73-4fca3b995f6b-image.png
                                        liest IQontrol nicht den tatsächlichen Namen des Datenpunktes aus der IQontrol-Config, sondern überschreibt den Namen. Aus "controlMode" wird dann "CONTROL_MODE", was zu einem "undefined" Fehler im Javascript führt.
                                        33294e28-fa9b-498e-a762-1a177fd94251-image.png

                                        Also nur noch eine Kleinigkeit und dann sollte es funktionieren .... VG, ok

                                        Alles klar, stimmt, werde ich in der nächsten Version anpassen.

                                        1 Reply Last reply Reply Quote 0
                                        • s.bormann
                                          s.bormann Most Active @dslraser last edited by

                                          @dslraser sagte in [Neuer Adapter] Visualisierung iQontrol:

                                          @s-bormann
                                          geht nicht alles drauf, aber hier ist es unterstrichen

                                          Bildschirmfoto 2019-09-15 um 22.03.13.png

                                          Hmm, seltsam. Wenn ich es richtig verstehe, dann ist das Objekt xxx.common.custom zwar definiert (!== "undefined") aber null. Diese Konstellation hatte ich vorher noch nicht - habe aber mal eine Anpassung der Zeile in diese Richtung vorgenommen.

                                          Wenn das so ist, dann wird der Fehler aber auch an anderer Stelle auftreten, denn Zeilen mit exakt diesem Aufbau gibt es in iQontrol haufenweise...

                                          Naja, fixen wir dann alles nach und nach weg 🙂

                                          Neue Version folgt gleich, dann schauen wir mal, ob es dann geht.

                                          dslraser 1 Reply Last reply Reply Quote 0
                                          • s.bormann
                                            s.bormann Most Active @dslraser last edited by s.bormann

                                            @dslraser sagte in [Neuer Adapter] Visualisierung iQontrol:

                                            @s-bormann sagte in [Neuer Adapter] Visualisierung iQontrol:

                                            CONTROL_MODE.

                                            bei mir funktioniert es nun. Es wird umgeschaltet.

                                            Bildschirmfoto 2019-09-15 um 09.50.54.png

                                            Jetzt eine neue Frage. Wenn ich den BOOST_STATE hinzufüge, dann geht der Dialog nicht auf ?
                                            (HMIP)

                                            {
                                             "type": "state",
                                             "common": {
                                               "def": false,
                                               "type": "boolean",
                                               "read": false,
                                               "write": true,
                                               "role": "switch.boost",
                                               "name": "Heizung Wohnzimmer INT0000001:1.BOOST_MODE"
                                             },
                                             "native": {
                                               "MIN": false,
                                               "OPERATIONS": 6,
                                               "MAX": true,
                                               "FLAGS": 1,
                                               "ID": "BOOST_MODE",
                                               "TYPE": "BOOL",
                                               "DEFAULT": false,
                                               "CONTROL": "HEATING_CONTROL_HMIP.BOOST_MODE"
                                             },
                                             "from": "system.adapter.hm-rpc.2",
                                             "user": "system.user.admin",
                                             "ts": 1568532780430,
                                             "_id": "hm-rpc.2.INT0000001.1.BOOST_MODE",
                                             "acl": {
                                               "object": 1636,
                                               "state": 1636,
                                               "owner": "system.user.admin",
                                               "ownerGroup": "system.group.administrator"
                                             }
                                            }
                                            

                                            Achso, trotz des eben besprochenen Fixes der Zeile 1223:
                                            Der BOOST_STATE ist nicht der BOOST_MODE (davon hast Du den RAW geschickt).
                                            Im BOOST_STATE wird beim HM (nicht-IP) die verbleibende BOOST-Zeit angegeben:

                                            996100b1-43e9-4b3c-b99c-2ea1995b1c07-image.png

                                            Ich weiß nicht, ob es diesen Datenpunkt bei HM-IP auch gibt??

                                            LG

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            922
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            app dark-mode iqontrol responsive vis visualisierung visualization widget
                                            295
                                            7633
                                            5733700
                                            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