arachnetech / homebridge-mqttthing

A plugin for Homebridge allowing the integration of many different accessory types using MQTT.
Apache License 2.0
462 stars 104 forks source link

Valve accessory #366

Open Nick-smar opened 3 years ago

Nick-smar commented 3 years ago

Hi,

I'm using the accessory 'valve' for my garden irrigation system. All I need is a 'on-off' and 'time'. So there is no need for me to use accessory 'irrigation system'.

One of the settings is 'valvetype' which can be sprinkler/shower/faucet. I use sprinkler, but the icon in the homekit app is a faucet? In the past it did show the right icon of on irrigation system, but since a while it's always showing a faucet. Did I miss something?

 {
            "type": "valve",
            "valvetype": "sprinkler",
            "name": "Tuinberegening",
            "url": "192.168.192.168:1883",
            "username": "blabla",
            "password": "blabla",
            "topics": {
                "getActive": "valve/getActive",
                "setActive": "valve/setActive",
                "getInUse": "valve/getInUse",
                "setDuration": "valve/setDuration",
                "getDuration": "valve/getDuration"
            },
            "accessory": "mqttthing"
        },

Second issue: In the homekit app I can only select 5 or 10 minutes. I believe in the past I could choose up to 60? minutes. Why only 5 or 10 now? However, if I set another time via MQTT, it is displayed well in the homekit app?

knstntn1 commented 3 years ago

Same here for the second issue. Just copied a configuration from a working bridge to another. Only 5 and 10 minutes can be choosen in the Home App now

andileeb commented 3 years ago

I am experiencing the exact same issue. I ported the config from a Raspberry to a NAS Plugin (TrueNAS) and now I only have the choice between 5 and 10 minutes. Running version 1.1.25. , minDuration and maxDuration aren't working at all, the plugin crashes...

EDIT: For me it worked when providing the duration via MQTT with getDuration / setDuration, then the times sent by MQTT are showing up in the Home app. I am using the same topic for every sprinkler to set the timer correctly.

Nick-smar commented 3 years ago

Hi, any updateson this? With getDuration and setDuration you can have values higer then 10 minutes. But I would like to select the time from the app and there only 5 and 10 minutes is available...

seppelicous commented 3 years ago

Here the same! I use the internal MQTTTHING duration timer, and HomeKit only shows 5 and 10 minutes timer. This is my config: { "type": "valve", "name": "Poolpumpe", "url": "mqtt://192.168.178.5:1883", "topics": { "getOnline": "tele/tasmota220vgarten/LWT", "getActive": "stat/tasmota220vgarten/POWER3", "setActive": "cmnd/tasmota220vgarten/POWER3", "getInUse": "stat/tasmota220vgarten/POWER3", "getStatusActive": "stat/tasmota220vgarten/POWER3" }, "onlineValue": "Online", "onValue": "ON", "offValue": "OFF", "turnOffAfterms": 10800000, "durationTimer": true, "minDuration": 60, "maxDuration": 10800, "accessory": "mqttthing" }

FFEngr commented 3 years ago

Hi, same here. Only 5 an 10 min. displayed in iOS + the one transmitted via setDuration. minDuration and maxDuration are ignored in display, but probaly tested while using setDuration (ignored if out of range).

Relevant config:

{
        "accessory": "mqttthing",
        "type": "irrigationSystem",
        "name": "AAAAA",
        "url": "mqtt://127.0.0.1",
        "topics": {
            "getActive": "AAA/water/active-get",
            "setActive": "AAA/water/active-set"
        },
        "zones": [
            {
                "name": "Opt1",
                "topics": {
                    "getActive": "AAA/water/zone1-active-get",
                    "setActive": "AAA/water/zone1-active-set",
                    "getInUse": "AAA/water/zone1-inuse-get",
                    "setDuration": "AAA/water/zone1-duration-set",
                    "getDuration": "AAA/water/zone1-duration-get",
                    "getRemainingDuration": "AAA/water/zone1-remain-set",
                    "getStatusActive": "AAA/water/zone1-status-get",
                    "getStatusFault": "AAA/water/zone1-fault-get"
                }
            },

........

            {
                "name": "Opt12",
                "topics": {
                    "getActive": "AAA/water/zone12-active-get",
                    "setActive": "AAA/water/zone12-active-set",
                    "getInUse": "AAA/water/zone12-inuse-get",
                    "setDuration": "AAA/water/zone12-duration-set",
                    "getDuration": "AAA/water/zone12-duration-get",
                    "getRemainingDuration": "AAA/water/zone12-remain-set",
                    "getStatusActive": "AAA/water/zone12-status-get",
                    "getStatusFault": "AAA/water/zone12-fault-get"
                }
            }
        ],
        "integerValue": "true",
        "onValue": "1",
        "offValue": "0",
        "durationTimer": "false"
    }

Could not find any workaround to choose higher times (>10 min.) from Home App ...