service: modbus.write_register
data:
address: 212
hub: Pluggit
value:
- 0 for close / 255 for open
- 0
for controlling the bypass manually
service: modbus.write_register
data:
address: 212
hub: Pluggit
value:
- 0 for close / 255 for open
- 0
for controlling the bypass manually
Start Away Mode: Write 0x0010 (16) to 168
End Away Mode: Write 0x8010 (32784) to 168
Start Fireplace Mode: Write 0x0040 (64) to 168
End Fireplace Mode: Write 0x8040 (32832) to 168
Start Summer Mode: Write 0x0800 (2048) to 168
End Summer Mode: Write 0x8800 (34816) to 168
Hey Andre,
Thank you very much for sharing the information
Has anyone succeeded to manage the fan speed via a slider card, such as this one?
Apparently you’d need to create a fan entity via modbus, but I am not sure how that would work…
Hey everyone!
I’m quite new to HA and I’m trying to set up my Pluggit AP310. It generally worked thanks to @Senbei 's video (Thank you!).
But I have a question of understanding:
I also took a look at the Pluggit Modbus documentation (the one pimpalavista linked and Senbei showed in his video).
Why do you use some of the addresses given in the documentation, just without the leading 40 (like OutdoorTemp at 133), but others are off by 1 (like BypassState 198 vs. 40199)? What does it depend on?
I really hope, you can explain this to me
Thanks in advance
Christian
Hi Christian,
In the pdf:
changed to https!
In page 51
The conversion, example, 40011 → 10
After I try to search:
Modbus is a data communications protocol originally published by Modicon (now Schneider Electric) in 1979 for use with its programmable logic controllers
Its a modbus addressing.
Holding register Read-write 16 bits 40001 – 49999
it’s a read/write register group range.
use google: “modbus register mapping 40001”
https://www.simplymodbus.ca/FAQ.htm
like:
40001 → 0
40002 → 1
.
.
40123 → 122
etc.
regards
Attila
Thanks for your suggestions, I have created a package[1] that breaks down all values. Unfortunately I need an additional variable (_raw
values) for some values. I haven’t found a way to automatically hide these values. Suggestions and PRs are welcome.
Awesome work, thank you so much! I struggled so much with the correct interpretation of the data returned by these modbus registers…
This is such amazing work. Thank you for that! That package feels almost like a full integration and it’s definitely worthy of one. It feels like there only those 10% left to do to make it a full integration now.
Is there anyone feeling able to give it a shot or lay down the ground work so all of us can jump in and integrate all the functionality?
Is it possible to change prmBypassTmax by modbus? I’d like to change temperature between summer and winter.
Or is it possible to disable bypass by modbus?
Then I could stop the bypass in winter, when heating is enabled.
Took the idea from an other topic:
fan:
- platform: template
fans:
pluggit_fan:
unique_id: "pluggit_fan_id"
friendly_name: "Pluggit AP 310"
value_template: "{{ int(states('sensor.pluggit_speed_level_of_fans_in_manual_mode_raw'), 3) > 0 }}"
percentage_template: "{{ int(states('sensor.pluggit_speed_level_of_fans_in_manual_mode_raw'), 3) * 25 }}"
preset_mode_template: "{{ states('select.pluggit_active_unit_mode') }}"
turn_on:
service: script.pluggit_set_speed_level_of_fans_in_manual_mode
data:
speed_level: "{{ 2 }}"
target:
entity_id: sensor.pluggit_speed_level_of_fans_in_manual_mode_raw
turn_off:
service: script.pluggit_set_speed_level_of_fans_in_manual_mode
data:
speed_level: "{{ 0 }}"
target:
entity_id: sensor.pluggit_speed_level_of_fans_in_manual_mode_raw
set_percentage:
service: script.pluggit_set_speed_level_of_fans_in_manual_mode
data:
speed_level: "{{ percentage / 25 }}"
target:
entity_id: sensor.pluggit_speed_level_of_fans_in_manual_mode_raw
set_preset_mode:
service: script.pluggit_set_active_unit_mode
data:
unit_mode: "{{ preset_mode }}"
#set_oscillating:
# service: script.fan_oscillating
# data:
# oscillating: "{{ oscillating }}"
#set_direction:
# service: script.fan_direction
# data:
# direction: "{{ direction }}"
speed_count: 4
preset_modes:
- "Manual"
- "WeekProgram"
Pluggit has released a new firmware late september, version 3.14
To install it, the also new V3 of Pluggit iFlow must also be installed on your computer, and previous iFlow versions MUST be uninstalled prior to upgrading the firmware.
A new Modbus documentation has also been released. Everything can be downloaded after registering an account on https://inside.pluggit.com
To find the updated Modbus documentation, go to Pluggit Inside and search for “Modbus”.
The changes since V2.68 are:
In the filter surveillance section, Servoflow has been added.
Alarm list updated.
Following parameters added:
The most interesting changes for me are that we can now modify the manual timeout duration and the Tmin and Tmax values for piloting the summer bypass. Also, there are now different Tmin and Tmax values for Summer and Winter times. Sounds cool!
Hi I upgrade to version 3.14
After I like to to change this new writable float32 registers.
Try to set prmBypassTmaxSummer register, first try use a “call service” in developer tools
service: modbus.write_register
data:
hub: pluggit
address: 764 or 765
value: [30,0] or [0,30] or [11110,0] or [0,11110]
any combination but only write a 0 to register
I found only this: Write a Modbus R32 (word-swapped float32) register and use binary value, but not helped.
After can connect to iFlow3 tool to reset to default.
It’s a Settings → Accessory → select bypass ->save.
0 (wrong) value change to deselect bypass any time.
How to write a float32 register in modbus service?
Regards
Pimpalavista
Hi, I think I could need some help.
I must have made a mistake with the registers and now my pluggit is confused with its bypass-state. Wenn bypass is open it thinks it’s closed and when it’s closed it thinks it is open. I can open and close bypass via Home Assistant or the phone-app, but it ist always the wrong way. I tried to get rid of this error by restarting the pluggit and even by physical deinstallation and reinstallation of the bypass, but the error still is there. Has anyone an idea of how to tell the pluggit, that the bypass is open when it really is open?
Regards
Titansalat
connect to iFlow[2|3] tool to reset to default.
Settings → Accessory → deselect bypass ->save.
and after
Settings → Accessory → select bypass ->save.
So far I have only managed to edit values for prmBypassTmax (Tmax winter) - trying to write to the other 3 registers Tmin (winter), TmaxSummer and TminSummer always fails and sets them to 0 or the lowest possible value.
The example below is an automation triggered by a slider (input_number) entity to change values of Tmax winter:
- id: "4cd0083a-53bc-4587-afff-315ffb016e86"
alias: Pluggit - Set ByPass Tmax Winter via slider
description: "Uses input_number entity to update Tmax Winter value"
mode: single
trigger:
- platform: state
entity_id: input_number.pluggit_bypass_tmax_winter
action:
- service: modbus.write_register
data:
address: 447
unit: 255
value: >
[ {{ '0x%04x' % unpack(pack(states('input_number.pluggit_bypass_tmax_winter') |float(0), '>f'), '>h') |abs }}, 0 ]
hub: pluggit
I haven’t been able to do the same for the 3 other registers mentioned above, and I don’t understand the reason why…
Here are the details of the input_number
Unfortunately the settings in accessories don‘t change anything. If you deselect Bypass you just can’t activate it via the App. You still can activate it via modbus, even if it is deactivated in the settings. But I found the solution. If you log into iFlow 3 as admin you find an endless register of values. One is called „prmNeedInverseBypassState“. This was set to 1. I changed it to 0 and now it works perfectly.
I happened to stumble upon this thread and noticed a striking similarity between the Modbus descriptions in both this threads and this one.
As the author of the Dantherm integration, I don’t see any reason why it shouldn’t also work with Pluggit units as well as the Dantherm units. Even the apps from both brands show a noticeable resemblance.
Check out the linked discussion, and if anyone is interested in testing the integration, I’m considering creating a separate Pluggit integration using the same code.
I can confirm that my Pluggit AP310 is running with your Dantherm integration. It is recognized as WG300
Hi neotigger,
Thank you for confirming. Would it make sense to adapt the integration for Pluggit, or is there already an existing solution for Home Assistant? I have tried looking around, but didn’t find anything.