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.
    • 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
                                  • O
                                    oFbEQnpoLKKl6mbY5e13 @apollon77 last edited by

                                    @apollon77

                                    Wieso ist das komisch? Der Rollladen kann sich doch nur zwischen 0 und 1 befinden.

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

                                      @ofbeqnpolkkl6mby5e13 Ja meine frage war ob es <1 ist ... also 0..1 🙂

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

                                        @apollon77

                                        Ach, Mist, sorry! 😞

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

                                          Bin gerade zu 100 % unsicher ... wenn ich alles was ich potentiell gefunden habe was % sein müsste/könnte/sollte jetzt dazu mache ist es in jedem Fall ein major release ... das ist nicht das problem.
                                          Das Problem ist das es alles nur Annahmen sind 😞 Da kann ich auch gewaltig daneben liegen ... klar sind dann Bugs die man fixen muss .. aber meehhh

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

                                            @apollon77

                                            Ich habe jetzt selbstverständlich nicht jede existierende HMIP-Komponente, aber zumindest Datenpunkte, die die Einheit % haben sollten, habe ich eher selten.

                                            Batterie z. B. hat HMIP gar nicht, nur "lowbat" als boolean.

                                            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

                                            934
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

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