Closed celsworth closed 1 year ago
Publish a new message when we see registers containing bitwise values:
# mosquitto_pub -t lxp/cmd/all/read/hold/21 -m '' # mosquitto_pub -t lxp/cmd/all/read/hold/110 -m '' <in another window> # mosquitto_sub -t lxp/# -v lxp/cmd/all/read/hold/21 (null) lxp/BA00000000/hold/21 62421 lxp/BA00000000/hold/21/bits {"eps_en":true,"ovf_load_derate_en":false,"drms_en":true,"lvrt_en":false,"anti_island_en":true,"neutral_detect_en":false,"grid_on_power_ss_en":true,"ac_charge_en":true,"sw_seamless_en":true,"set_to_standby":true,"forced_discharge_en":false,"forced_charge_en":false,"iso_en":true,"gfci_en":true,"dci_en":true,"feed_in_grid_en":true} lxp/result/BA00000000/read/hold/21 OK lxp/cmd/all/read/hold/110 (null) lxp/BA00000000/hold/110 2 lxp/BA00000000/hold/110/bits {"ub_pv_grid_off_en":false,"ub_run_without_grid":true,"ub_micro_grid_en":false} lxp/result/BA00000000/read/hold/110 OK
And an example of setting ac_charge true, when it was previously false:
lxp/cmd/all/set/ac_charge true lxp/BA00000000/hold/21 62293 lxp/BA00000000/hold/21/bits {"eps_en":true,"ovf_load_derate_en":false,"drms_en":true,"lvrt_en":false,"anti_island_en":true,"neutral_detect_en":false,"grid_on_power_ss_en":true,"ac_charge_en":false,"sw_seamless_en":true,"set_to_standby":true,"forced_discharge_en":false,"forced_charge_en":false,"iso_en":true,"gfci_en":true,"dci_en":true,"feed_in_grid_en":true} lxp/BA00000000/hold/21 62421 lxp/BA00000000/hold/21/bits {"eps_en":true,"ovf_load_derate_en":false,"drms_en":true,"lvrt_en":false,"anti_island_en":true,"neutral_detect_en":false,"grid_on_power_ss_en":true,"ac_charge_en":true,"sw_seamless_en":true,"set_to_standby":true,"forced_discharge_en":false,"forced_charge_en":false,"iso_en":true,"gfci_en":true,"dci_en":true,"feed_in_grid_en":true} lxp/result/BA00000000/set/ac_charge OK
We get two bits messages here because setting ac_charge true involves reading the previous register (first message), updating it, then writing it back - the inverters reply to this final part is what generates the second bits message.
bits
Part of #7, also paves the way for #116
Publish a new message when we see registers containing bitwise values:
And an example of setting ac_charge true, when it was previously false:
We get two
bits
messages here because setting ac_charge true involves reading the previous register (first message), updating it, then writing it back - the inverters reply to this final part is what generates the secondbits
message.Part of #7, also paves the way for #116