{"id":167514,"date":"2022-11-12T22:44:19","date_gmt":"2022-11-12T15:44:19","guid":{"rendered":"https:\/\/www.icez.net\/blog\/?p=167514"},"modified":"2022-11-12T22:52:01","modified_gmt":"2022-11-12T15:52:01","slug":"0254-integrate-sofar-inverter-hyd-6000-ep-to-home-assistant","status":"publish","type":"post","link":"https:\/\/www.icez.net\/blog\/167514\/0254-integrate-sofar-inverter-hyd-6000-ep-to-home-assistant","title":{"rendered":"0254 | \u0e15\u0e48\u0e2d Sofar Inverter HYD 6000-EP \u0e40\u0e02\u0e49\u0e32 Home Assistant"},"content":{"rendered":"<p>\u0e27\u0e34\u0e18\u0e35\u0e19\u0e35\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Sofar Inverter \u0e17\u0e35\u0e48\u0e15\u0e31\u0e27 logger \u0e21\u0e35 serial \u0e02\u0e36\u0e49\u0e19\u0e15\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22 23xxxxxxxx \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a<\/p>\n<h3>[\u0e41\u0e01\u0e49\u0e44\u0e02]<\/h3>\n<ul>\n<li>\u0e40\u0e02\u0e35\u0e22\u0e19\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e1b\u0e38\u0e4a\u0e1b \u0e21\u0e35 update \u0e41\u0e01\u0e49\u0e43\u0e2b\u0e49\u0e23\u0e31\u0e19\u0e43\u0e19 raspberry pi \u0e44\u0e14\u0e49\u0e21\u0e32\u0e40\u0e25\u0e22 \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e14\u0e39\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48 repository \u0e19\u0e35\u0e49 <a href=\"https:\/\/github.com\/kubaceg\/sofar_g3_lsw3_logger_reader\">https:\/\/github.com\/kubaceg\/sofar_g3_lsw3_logger_reader<\/a><\/li>\n<\/ul>\n<h3>\u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e48\u0e2d\u0e19<\/h3>\n<ul>\n<li>home assistant<\/li>\n<li>mqtt broker (\u0e43\u0e0a\u0e49 public \u0e2b\u0e23\u0e37\u0e2d private \u0e01\u0e47\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e2a\u0e30\u0e14\u0e27\u0e01)<\/li>\n<li>linux x86 \u0e0b\u0e31\u0e01\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e17\u0e35\u0e48\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e2b\u0e32 inverter wifi interface \u0e44\u0e14\u0e49 (\u0e43\u0e0a\u0e49\u0e1a\u0e19 raspberry pi\/arm \u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e19\u0e40\u0e02\u0e35\u0e22\u0e19\u0e40\u0e04\u0e49\u0e32\u0e1a\u0e2d\u0e01\u0e27\u0e48\u0e32\u0e40\u0e02\u0e35\u0e22\u0e19\u0e23\u0e35\u0e1a\u0e46 \u0e21\u0e32\u0e43\u0e0a\u0e49\u0e40\u0e2d\u0e07)<\/li>\n<li>\u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 fetch data => load \u0e44\u0e14\u0e49\u0e08\u0e32\u0e01 <a href=\"https:\/\/github.com\/XtheOne\/Inverter-Data-Logger\/issues\/37#issuecomment-1303091265\">XtheOne\/Inverter-Data-Logger issue #37<\/a> \u0e14\u0e39 link sofar-export.zip<\/li>\n<li>docker compose<\/li>\n<\/ul>\n<h3>\u0e02\u0e31\u0e49\u0e19\u0e15\u0e2d\u0e19<\/h3>\n<ul>\n<li>\u0e41\u0e15\u0e01\u0e44\u0e1f\u0e25\u0e4c sofar-export.zip \u0e41\u0e25\u0e49\u0e27\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e43\u0e19 folder \u0e17\u0e35\u0e48\u0e40\u0e01\u0e47\u0e1a\u0e44\u0e1f\u0e25\u0e4c<\/li>\n<li>\u0e41\u0e01\u0e49\u0e44\u0e1f\u0e25\u0e4c Dockerfile \u0e40\u0e1b\u0e47\u0e19\u0e15\u0e32\u0e21\u0e19\u0e35\u0e49<\/li>\n<\/ul>\n<pre><code>FROM golang:1.19-bullseye\n\nADD . \/src\n\nRUN apt update &amp;&amp; apt install -y ca-certificates tzdata &amp;&amp; \\\n  cd \/src &amp;&amp; go build &amp;&amp; cp -av \/src\/sofar \/\n\nCMD [\"\/sofar\"]\n<\/code><\/pre>\n<ul>\n<li>\u0e2a\u0e23\u0e49\u0e32\u0e07\u0e44\u0e1f\u0e25\u0e4c docker-compose.yml \u0e15\u0e32\u0e21\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07 \u0e43\u0e19 folder \u0e40\u0e14\u0e35\u0e22\u0e27\u0e01\u0e31\u0e19 \u0e41\u0e01\u0e49\u0e04\u0e48\u0e32\u0e2a\u0e32\u0e21\u0e08\u0e38\u0e14\u0e15\u0e32\u0e21\u0e19\u0e35\u0e49\n<ul>\n<li>23xxxxxxxx \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e02 serial \u0e17\u0e35\u0e48\u0e42\u0e0a\u0e27\u0e4c\u0e43\u0e19\u0e2b\u0e19\u0e49\u0e32\u0e40\u0e27\u0e47\u0e1a\u0e17\u0e35\u0e48\u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e14\u0e39 inverter (login user admin\/admin)<\/li>\n<li>\u0e41\u0e01\u0e49\u0e04\u0e48\u0e32 tcp:\/\/user:pass@mqttserverip:mqttport \u0e15\u0e32\u0e21 mqtt broker \u0e17\u0e35\u0e48\u0e43\u0e0a\u0e49<\/li>\n<li>\u0e41\u0e01\u0e49 sofarinverterip \u0e40\u0e1b\u0e47\u0e19\u0e40\u0e25\u0e02 IP \u0e02\u0e2d\u0e07\u0e15\u0e31\u0e27 inverter<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<pre><code>services:\n  sofar-export:\n    image: sofar-export\n    build: .\/\n    restart: unless-stopped\n    command: \/sofar -logger-serial 23xxxxxxxx -mqtt-url tcp:\/\/user:pass@mqttserverip:mqttport -port sofarinverterip:8899\n<\/code><\/pre>\n<ul>\n<li>\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e41\u0e25\u0e49\u0e27\u0e2a\u0e31\u0e48\u0e07 start docker service \u0e02\u0e36\u0e49\u0e19\u0e21\u0e32<\/li>\n<\/ul>\n<pre><code>docker compose up -d\n<\/code><\/pre>\n<ul>\n<li>\u0e41\u0e25\u0e49\u0e27\u0e44\u0e1b\u0e40\u0e0b\u0e47\u0e15 mqtt sensor \u0e43\u0e19 home assistant (\u0e43\u0e2a\u0e48\u0e43\u0e19 configuration.yaml) \u0e1b\u0e23\u0e30\u0e21\u0e32\u0e13\u0e19\u0e35\u0e49 *** parameter \u0e22\u0e31\u0e07\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e17\u0e14\u0e2a\u0e2d\u0e1a \u0e41\u0e01\u0e49\u0e44\u0e02\u0e40\u0e2d\u0e07\u0e15\u0e32\u0e21\u0e2a\u0e30\u0e14\u0e27\u0e01 ***<\/li>\n<\/ul>\n<pre><code>mqtt:\n  sensor:\n    - name: inverter_Frequency_Grid\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Frequency_Grid \/ 100 }}\"\n      unit_of_measurement: \"Hz\"\n      state_class: \"measurement\"\n      device_class: \"frequency\"\n    - name: inverter_PV_Generation_Today\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.PV_Generation_Today * 10}}\"\n      unit_of_measurement: \"Wh\"\n      state_class: \"measurement\"\n      device_class: \"energy\"\n    - name: inverter_PV_Generation_Total\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.PV_Generation_Total * 100}}\"\n      unit_of_measurement: \"Wh\"\n      state_class: \"measurement\"\n      device_class: \"energy\"\n    - name: inverter_ActivePower_Load_Sys\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.ActivePower_Load_Sys * 10}}\"\n      unit_of_measurement: \"W\"\n      state_class: \"measurement\"\n      device_class: \"power\"\n    - name: inverter_ActivePower_PV_Ext\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.ActivePower_PV_Ext * 10}}\"\n      unit_of_measurement: \"W\"\n      state_class: \"measurement\"\n      device_class: \"power\"\n    - name: inverter_ActivePower_Output_R\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.ActivePower_Output_R * 10}}\"\n      unit_of_measurement: \"W\"\n      state_class: \"measurement\"\n      device_class: \"power\"\n    - name: inverter_ActivePower_Output_Total\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.ActivePower_Output_Total * 10}}\"\n      unit_of_measurement: \"W\"\n      state_class: \"measurement\"\n      device_class: \"power\"\n    - name: inverter_ActivePower_PCC_R\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.ActivePower_PCC_R * 10}}\"\n      unit_of_measurement: \"W\"\n      state_class: \"measurement\"\n      device_class: \"power\"\n    - name: inverter_ActivePower_PCC_Total\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.ActivePower_PCC_Total * 10}}\"\n      unit_of_measurement: \"W\"\n      state_class: \"measurement\"\n      device_class: \"power\"\n    - name: inverter_Voltage_Phase_R\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Voltage_Phase_R \/ 10}}\"\n      unit_of_measurement: \"V\"\n      state_class: \"measurement\"\n      device_class: \"voltage\"\n    - name: inverter_Voltage_PV1\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Voltage_PV1 \/ 10}}\"\n      unit_of_measurement: \"V\"\n      state_class: \"measurement\"\n      device_class: \"voltage\"\n    - name: inverter_Voltage_PV2\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Voltage_PV2 \/ 10}}\"\n      unit_of_measurement: \"V\"\n      state_class: \"measurement\"\n      device_class: \"voltage\"\n    - name: inverter_Current_PV1\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Current_PV1 \/ 100 }}\"\n      unit_of_measurement: \"A\"\n      state_class: \"measurement\"\n      device_class: \"current\"\n    - name: inverter_Current_PV2\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Current_PV2 \/ 100}}\"\n      unit_of_measurement: \"A\"\n      state_class: \"measurement\"\n      device_class: \"current\"\n    - name: inverter_Current_Output_R\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Current_Output_R \/ 100 }}\"\n      unit_of_measurement: \"A\"\n      state_class: \"measurement\"\n      device_class: \"current\"\n    - name: inverter_Temperature_Env1\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.Temperature_Env1 }}\"\n      unit_of_measurement: \"C\"\n      state_class: \"measurement\"\n      device_class: \"temperature\"\n    - name: inverter_Temperature_HeatSink1\n      state_topic: \"\/sensors\/energy\/inverter2\/All\"\n      value_template: \"{{ value_json.HeatSink1 }}\"\n      unit_of_measurement: \"C\"\n      state_class: \"measurement\"\n      device_class: \"temperature\"\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u0e27\u0e34\u0e18\u0e35\u0e19\u0e35\u0e49\u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a Sofar Inverter \u0e17\u0e35\u0e48\u0e15\u0e31\u0e27 logger \u0e21\u0e35 serial \u0e02\u0e36\u0e49\u0e19\u0e15\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22 23xxxxxxxx \u0e19\u0e30\u0e04\u0e23\u0e31\u0e1a [\u0e41\u0e01\u0e49\u0e44\u0e02] \u0e40\u0e02\u0e35\u0e22\u0e19\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e1b\u0e38\u0e4a\u0e1b \u0e21\u0e35 update \u0e41\u0e01\u0e49\u0e43\u0e2b\u0e49\u0e23\u0e31\u0e19\u0e43\u0e19 raspberry pi \u0e44\u0e14\u0e49\u0e21\u0e32\u0e40\u0e25\u0e22 \u0e40\u0e02\u0e49\u0e32\u0e44\u0e1b\u0e14\u0e39\u0e44\u0e14\u0e49\u0e17\u0e35\u0e48 repository \u0e19\u0e35\u0e49 https:\/\/github.com\/kubaceg\/sofar_g3_lsw3_logger_reader \u0e2a\u0e34\u0e48\u0e07\u0e17\u0e35\u0e48\u0e15\u0e49\u0e2d\u0e07\u0e21\u0e35\u0e01\u0e48\u0e2d\u0e19 home assistant mqtt broker (\u0e43\u0e0a\u0e49 public \u0e2b\u0e23\u0e37\u0e2d private \u0e01\u0e47\u0e44\u0e14\u0e49\u0e15\u0e32\u0e21\u0e2a\u0e30\u0e14\u0e27\u0e01) linux x86 \u0e0b\u0e31\u0e01\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e17\u0e35\u0e48\u0e40\u0e0a\u0e37\u0e48\u0e2d\u0e21\u0e15\u0e48\u0e2d\u0e44\u0e1b\u0e2b\u0e32 inverter wifi interface \u0e44\u0e14\u0e49 (\u0e43\u0e0a\u0e49\u0e1a\u0e19 raspberry pi\/arm \u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e40\u0e19\u0e37\u0e48\u0e2d\u0e07\u0e08\u0e32\u0e01\u0e04\u0e19\u0e40\u0e02\u0e35\u0e22\u0e19\u0e40\u0e04\u0e49\u0e32\u0e1a\u0e2d\u0e01\u0e27\u0e48\u0e32\u0e40\u0e02\u0e35\u0e22\u0e19\u0e23\u0e35\u0e1a\u0e46 \u0e21\u0e32\u0e43\u0e0a\u0e49\u0e40\u0e2d\u0e07) \u0e42\u0e1b\u0e23\u0e41\u0e01\u0e23\u0e21 fetch data => load \u0e44\u0e14\u0e49\u0e08\u0e32\u0e01 XtheOne\/Inverter-Data-Logger issue #37 \u0e14\u0e39 link [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8263],"tags":[],"class_list":["post-167514","post","type-post","status-publish","format-standard","hentry","category-home-assistant"],"_links":{"self":[{"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/posts\/167514","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/comments?post=167514"}],"version-history":[{"count":4,"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/posts\/167514\/revisions"}],"predecessor-version":[{"id":167517,"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/posts\/167514\/revisions\/167517"}],"wp:attachment":[{"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/media?parent=167514"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/categories?post=167514"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.icez.net\/blog\/wp-json\/wp\/v2\/tags?post=167514"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}