Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Homematic IP Cloud Access Point Adapter

    NEWS

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    Homematic IP Cloud Access Point Adapter

    This topic has been deleted. Only users with topic management privileges can see it.
    • apollon77
      apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

      @ofbeqnpolkkl6mby5e13 sagte in Homematic IP Cloud Access Point Adapter:

      Ich gehe mal davon aus, dass HomeAssistant auch nur auf der REST-API von Greenberet aufsetzt, insofern sollte das grundsätzlich erstmal identisch sein. Natürlich kann es trotzdem Unterschiede bei der Unterstützung von Komponenten geben, da die REST-API nicht mehr weiterentwickelt wird und damit für jedes Smarthome System mit HMIP-Unterstützung jetzt leider parallel entwickelt wird.

      Also was HomeAssistant hier zu tun hat weiss ich nicht, aber der Adapter redet selbst mit der eq-3 cloud. Ich glaube das wir damals die ersten waren die die API Reverse-Engineered haben - oder es war parallel ... aber ist am Ende auch egal ... Aktuell ist das Featureset so das unser Adapter mehr kann als das Python Projekt, weil ich es noch aktiv betreue wenn was ist 🙂

      O 1 Reply Last reply Reply Quote 0
      • O
        oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by oFbEQnpoLKKl6mbY5e13

        @apollon77 sagte in Homematic IP Cloud Access Point Adapter:

        Also was HomeAssistant hier zu tun hat weiss ich nicht...

        Äh, da wird die ValvePosition für FALMOT-C12 angezeigt. Zumindest laut Log von oben.

        Nein, Jogibear hat die von Greenberet für iobroker portiert.

        apollon77 2 Replies Last reply Reply Quote 0
        • apollon77
          apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

          @ofbeqnpolkkl6mby5e13
          @okoehler Na dann ein Github issue bitte ... aktuell ist nur valveState im Adapter drin ...

          O 1 Reply Last reply Reply Quote 0
          • apollon77
            apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

            @ofbeqnpolkkl6mby5e13 sagte in Homematic IP Cloud Access Point Adapter:

            Nein, Jogibear hat die von Greenberet für iobroker portiert.

            Na dann mag es so gewesen sein ...

            1 Reply Last reply Reply Quote 0
            • L
              loverz last edited by

              Ich hab die normalen HMIP Thermostate und die zeigen im Adapter die Ventilpositionen an, weiß jetzt nicht ob das hier hilft.

              1 Reply Last reply Reply Quote 0
              • O
                okoehler last edited by okoehler

                Hallo,
                ich habe mal mit der Restapi ein wenig rumgespielt, wo ich jetzt dazu sagen muss dass ich mit python sehr wenig am Hut habe.
                Aber ich habe er irgendwie geschafft die Ventilpositionen auszugeben, der letzte Wert ist die Ventilposition

                Verteiler Heizkreislauf (1) Arbeitszimmer ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (2) Badezimmer ADAPTION_DONE 1.0
                Verteiler Heizkreislauf (3) Schlafzimmer ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (4) Flur/Bad ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (5) WoZi 1 Kamin ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (6) WoZi 2 Mitte ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (7) WoZi 3 Fenster ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (8) Flur Eingang ADAPTION_DONE 0.0
                Verteiler Heizkreislauf (9) Küche ADAPTION_DONE 0.0
                Verteiler ADJUSTMENT_TOO_SMALL None
                Verteiler ADJUSTMENT_TOO_SMALL None
                Verteiler ADJUSTMENT_TOO_SMALL None

                Dazu habe ich in der Klasse device.FloorTerminalBlock12 folgenden Code eingefügt

                c = get_functional_channel("FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL", js)
                       if c:
                           self.set_attr_from_dict("label", c)
                           self.set_attr_from_dict("valvePosition", c)
                

                und in der functionalChannels.py class FloorTerminalBlockMechanicalChannel

                def from_json(self, js, groups: Iterable[Group]):
                       super().from_json(js, groups)
                       self.set_attr_from_dict("valveState", js)
                       self.set_attr_from_dict("valvePosition", js)
                

                Das ist natürlich wildes gehacke. Wie bekommen wir das denn jetzt sauber in die API?

                O 1 Reply Last reply Reply Quote 0
                • O
                  oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by oFbEQnpoLKKl6mbY5e13

                  @apollon77

                  Hier ebenfalls über Greenberets Python REST-API:

                  "3014F7110000000000000100": {
                              "availableFirmwareVersion": "1.4.6",
                              "connectionType": "HMIP_RF",
                              "firmwareVersion": "1.4.6",
                              "firmwareVersionInteger": 66566,
                              "functionalChannels": {
                                  "0": {
                                      "busConfigMismatch": null,
                                      "coProFaulty": false,
                                      "coProRestartNeeded": false,
                                      "coProUpdateFailure": false,
                                      "configPending": false,
                                      "coolingEmergencyValue": 0.0,
                                      "deviceCommunicationError": null,
                                      "deviceDriveError": null,
                                      "deviceDriveModeError": null,
                                      "deviceId": "3014F7110000000000000100",
                                      "deviceOverheated": false,
                                      "deviceOverloaded": false,
                                      "devicePowerFailureDetected": false,
                                      "deviceUndervoltage": false,
                                      "displayContrast": null,
                                      "dutyCycle": false,
                                      "frostProtectionTemperature": 8.0,
                                      "functionalChannelType": "DEVICE_BASE_FLOOR_HEATING",
                                      "groupIndex": 0,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000040"
                                      ],
                                      "heatingEmergencyValue": 0.25,
                                      "index": 0,
                                      "label": "",
                                      "lockJammed": null,
                                      "lowBat": null,
                                      "minimumFloorHeatingValvePosition": 0.0,
                                      "mountingOrientation": null,
                                      "multicastRoutingEnabled": false,
                                      "particulateMatterSensorCommunicationError": null,
                                      "particulateMatterSensorError": null,
                                      "powerShortCircuit": null,
                                      "profilePeriodLimitReached": null,
                                      "pulseWidthModulationAtLowFloorHeatingValvePositionEnabled": false,
                                      "routerModuleEnabled": false,
                                      "routerModuleSupported": false,
                                      "rssiDeviceValue": 128,
                                      "rssiPeerValue": null,
                                      "shortCircuitDataLine": null,
                                      "supportedOptionalFeatures": {
                                          "IFeatureBusConfigMismatch": false,
                                          "IFeatureDeviceCoProError": false,
                                          "IFeatureDeviceCoProRestart": false,
                                          "IFeatureDeviceCoProUpdate": false,
                                          "IFeatureDeviceCommunicationError": false,
                                          "IFeatureDeviceDriveError": false,
                                          "IFeatureDeviceDriveModeError": false,
                                          "IFeatureDeviceIdentify": false,
                                          "IFeatureDeviceOverheated": false,
                                          "IFeatureDeviceOverloaded": false,
                                          "IFeatureDeviceParticulateMatterSensorCommunicationError": false,
                                          "IFeatureDeviceParticulateMatterSensorError": false,
                                          "IFeatureDevicePowerFailure": false,
                                          "IFeatureDeviceTemperatureHumiditySensorCommunicationError": false,
                                          "IFeatureDeviceTemperatureHumiditySensorError": false,
                                          "IFeatureDeviceTemperatureOutOfRange": false,
                                          "IFeatureDeviceUndervoltage": false,
                                          "IFeatureMinimumFloorHeatingValvePosition": true,
                                          "IFeatureMulticastRouter": false,
                                          "IFeaturePowerShortCircuit": false,
                                          "IFeatureProfilePeriodLimit": false,
                                          "IFeaturePulseWidthModulationAtLowFloorHeatingValvePosition": true,
                                          "IFeatureRssiValue": true,
                                          "IFeatureShortCircuitDataLine": false,
                                          "IOptionalFeatureDeviceErrorLockJammed": false,
                                          "IOptionalFeatureDisplayContrast": false,
                                          "IOptionalFeatureDutyCycle": true,
                                          "IOptionalFeatureLowBat": false,
                                          "IOptionalFeatureMountingOrientation": false
                                      },
                                      "temperatureHumiditySensorCommunicationError": null,
                                      "temperatureHumiditySensorError": null,
                                      "temperatureOutOfRange": false,
                                      "unreach": false,
                                      "valveProtectionDuration": 5,
                                      "valveProtectionSwitchingInterval": 14
                                  },
                                  "1": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 1,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000038"
                                      ],
                                      "index": 1,
                                      "label": "Bad",
                                      "valvePosition": 0.04,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "10": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 10,
                                      "groups": [],
                                      "index": 10,
                                      "label": "",
                                      "valvePosition": null,
                                      "valveState": "ADJUSTMENT_TOO_SMALL"
                                  },
                                  "11": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 11,
                                      "groups": [],
                                      "index": 11,
                                      "label": "",
                                      "valvePosition": null,
                                      "valveState": "ADJUSTMENT_TOO_SMALL"
                                  },
                                  "12": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 12,
                                      "groups": [],
                                      "index": 12,
                                      "label": "",
                                      "valvePosition": null,
                                      "valveState": "ADJUSTMENT_TOO_SMALL"
                                  },
                                  "13": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "HEAT_DEMAND_CHANNEL",
                                      "groupIndex": 0,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000101",
                                          "00000000-0000-0000-0000-000000000102"
                                      ],
                                      "index": 13,
                                      "label": ""
                                  },
                                  "14": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "DEHUMIDIFIER_DEMAND_CHANNEL",
                                      "groupIndex": 0,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000103"
                                      ],
                                      "index": 14,
                                      "label": ""
                                  },
                                  "15": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "CHANGE_OVER_CHANNEL",
                                      "groupIndex": 0,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000104",
                                          "00000000-0000-0000-0000-000000000105",
                                          "00000000-0000-0000-0000-000000000106",
                                          "00000000-0000-0000-0000-000000000107"
                                      ],
                                      "index": 15,
                                      "label": ""
                                  },
                                  "2": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 2,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000021"
                                      ],
                                      "index": 2,
                                      "label": "Schlafen 1",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "3": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 3,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000044"
                                      ],
                                      "index": 3,
                                      "label": "WC",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "4": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 4,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000030"
                                      ],
                                      "index": 4,
                                      "label": "K\u00fcche ",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "5": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 5,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000030"
                                      ],
                                      "index": 5,
                                      "label": "K\u00fcche",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "6": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 6,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000046"
                                      ],
                                      "index": 6,
                                      "label": "Wohnen 1",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "7": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 7,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000046"
                                      ],
                                      "index": 7,
                                      "label": "Wohnen 3",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "8": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 8,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000046"
                                      ],
                                      "index": 8,
                                      "label": "Wohnen 2",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  },
                                  "9": {
                                      "deviceId": "3014F7110000000000000100",
                                      "functionalChannelType": "FLOOR_TERMINAL_BLOCK_MECHANIC_CHANNEL",
                                      "groupIndex": 9,
                                      "groups": [
                                          "00000000-0000-0000-0000-000000000046"
                                      ],
                                      "index": 9,
                                      "label": "Wohnen 1",
                                      "valvePosition": 0.0,
                                      "valveState": "ADAPTION_DONE"
                                  }
                              },
                              "homeId": "00000000-0000-0000-0000-000000000001",
                              "id": "3014F7110000000000000100",
                              "label": "Fu\u00dfbodenheizungsaktor \u2013 12-fach, motorisch",
                              "lastStatusUpdate": 1663348784591,
                              "liveUpdateState": "LIVE_UPDATE_NOT_SUPPORTED",
                              "manufacturerCode": 1,
                              "modelId": 365,
                              "modelType": "HmIP-FALMOT-C12",
                              "oem": "eQ-3",
                              "permanentlyReachable": true,
                              "serializedGlobalTradeItemNumber": "3014F7110000000000000100",
                              "type": "FLOOR_TERMINAL_BLOCK_12",
                              "updateState": "UP_TO_DATE"
                          }
                      },
                  

                  Also da hat EQ-3 die valvePosition hinzugefügt. Im Januar gab es das noch nicht. Siehe mein Issue aus der Zeit:
                  GitHub

                  apollon77 1 Reply Last reply Reply Quote 0
                  • O
                    oFbEQnpoLKKl6mbY5e13 @okoehler last edited by oFbEQnpoLKKl6mbY5e13

                    @okoehler sagte in Homematic IP Cloud Access Point Adapter:

                    Das ist natürlich wildes gehacke. Wie bekommen wir das denn jetzt sauber in die API?

                    In der API ist es. Der Adapter unterstützt es bisher nicht. Vielen Dank erstmal für die Info!

                    Ich mache ein Issue auf:

                    https://github.com/iobroker-community-adapters/ioBroker.hmip/issues/395

                    RP70DP created this issue in iobroker-community-adapters/ioBroker.hmip

                    closed Support "valvePosition" for HmIP-FALMOT-C12, please #395

                    apollon77 1 Reply Last reply Reply Quote 1
                    • apollon77
                      apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

                      @ofbeqnpolkkl6mby5e13 Jo, kommt die tage dann

                      1 Reply Last reply Reply Quote 0
                      • apollon77
                        apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

                        @ofbeqnpolkkl6mby5e13 sagte in Homematic IP Cloud Access Point Adapter:

                        Also da hat EQ-3 die valvePosition hinzugefügt. Im Januar gab es das noch nicht. Siehe mein Issue aus der Zeit:

                        Ja das ist "blöd" ... das sehe ich nicht wenn es mal eingebaut ist wenn die neue States hinzufügen 😞

                        O 1 Reply Last reply Reply Quote 0
                        • O
                          oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by oFbEQnpoLKKl6mbY5e13

                          @apollon77

                          Danke für die Integration der Ventilposition und des Channellabels des HmIP-FALMOT-C12!

                          Für die Einheit hast du natürlich % gewählt. In den Dump-Daten, die ich aus der Python REST-API gezogen habe, steht aber keine Einheit. Zumindest habe ich das nicht gefunden. War das Logik, oder worauf ist das begründet?

                          Ich frage das, weil bei keiner anderen valvePosition im Adapter eine Einheit vorgegeben ist.

                          apollon77 1 Reply Last reply Reply Quote 0
                          • apollon77
                            apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

                            @ofbeqnpolkkl6mby5e13 Annahme und weil es sinn macht? Bzw checke gern was der Wert ist wenn ganz offen - wenn 100 dann ists % 🙂 ... dann kann ich die Einheit ggf nachziehen bei den anderen

                            O 1 Reply Last reply Reply Quote 0
                            • O
                              oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by oFbEQnpoLKKl6mbY5e13

                              @apollon77

                              100% macht kein Heizungsventil auf und schon gar nicht bei einer Fußbodenheizung mit hydraulischem Abgleich durch den FALMOT-C12. Ich wüsste auch nicht, wie ich das provozieren sollte.

                              apollon77 O 2 Replies Last reply Reply Quote 0
                              • apollon77
                                apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

                                @ofbeqnpolkkl6mby5e13 Ok, dann anders: Macht die Einheit % für dich sinn? Wenn ja lassen wirs so, wenn nein dann halt nicht ... Eine einheitenlose Zahl ist auch nicht das gelbe vom Ei ...
                                Ein weiterer Anhaltspunkt für % war das hmip hier wohl 0,04 als Wert hatte bei einem Datensatz ...

                                O O 3 Replies Last reply Reply Quote 0
                                • O
                                  oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by oFbEQnpoLKKl6mbY5e13

                                  @apollon77

                                  Ja, natürlich, das ergibt absolut Sinn. Ich war halt positiv über die Einheit überrascht, weil die sonst nicht gesetzt war.

                                  Aktuell ist ein Wert bei 14%, also keine 0,irgendwas Werte.

                                  Ach so, durch die Einheit % wird das automatisch umgerechnet.

                                  apollon77 1 Reply Last reply Reply Quote 0
                                  • apollon77
                                    apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by apollon77

                                    @ofbeqnpolkkl6mby5e13 sagte in Homematic IP Cloud Access Point Adapter:

                                    Aktuell ist ein Wert bei 14%, also keine 0,irgendwas Werte.
                                    Ach so, durch die Einheit % wird das automatisch umgerechnet.

                                    Nicht automatisch, aber ja ich rechne das um. Problem kist wenn ich das bei den anderen mache dann wird es ein breaking change wenn user darauf logik haben ...hhmmmmmmmm

                                    1 Reply Last reply Reply Quote 0
                                    • O
                                      oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by

                                      @apollon77

                                      Ist das denn viel Arbeit für dich, wenn du sowas im Adapter änderst? Denn die shutterLevel-Werte müssten eigentlich auch in % angezeigt werden.

                                      Oh, ich erinnere mich, dass das beim Netatmo-Adapter, bei dem ich 310 Aliasse ändern musste, weniger Bauchschmerzen bereitete...

                                      apollon77 1 Reply Last reply Reply Quote 0
                                      • apollon77
                                        apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

                                        @ofbeqnpolkkl6mby5e13 wir da ein Wert <1 angezeigt?

                                        O 1 Reply Last reply Reply Quote 0
                                        • O
                                          oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by

                                          @apollon77

                                          Bei den shutterLevel-Werten? Nein.

                                          apollon77 1 Reply Last reply Reply Quote 0
                                          • apollon77
                                            apollon77 @oFbEQnpoLKKl6mbY5e13 last edited by

                                            @ofbeqnpolkkl6mby5e13 Komisch ... anaj ich adde mal die nur unit

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            830
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            homematic cloud adapter homematic ip cloud adapter
                                            92
                                            400
                                            61131
                                            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