Git Product home page Git Product logo

esphome-soyosource-gtn-virtual-meter's Introduction

esphome-soyosource-gtn-virtual-meter

GitHub actions GitHub stars GitHub forks GitHub watchers "Buy Me A Coffee"

ESPHome component to simulate the current clamp to control the Soyosource GTN1200 limiter

Lovelace entities card

Supported devices

  • GTN-1000LIM24, GTN-1000LIM36, GTN-1000LIM48, GTN-1000LIM72, GTN-1000LIM96
  • GTN-1200LIM48, GTN-1200LIM72, GTN-1200LIM96
  • GTN-1000LIM24W, GTN-1000LIM36W, GTN-1000LIM48W, GTN-1000LIM72W, GTN-1000LIM96W
  • GTN-1200LIM48W, GTN-1200LIM72W, GTN-1200LIM96W

It looks like there is no GTW (waterproof) version of the device with limiter / RS485 support.

Supported setups

Configuration example Description
esp32-example.yaml Monitor1 the inverter and control the power output on demand both via RS485 using a ESP32
esp8266-example.yaml Monitor1 the inverter and control the power output on demand both via RS485 using a ESP8266
esp32-limiter-example.yaml Control the power output only on demand via RS485 using a ESP32
esp8266-limiter-example.yaml Control the power output only on demand via RS485 using a ESP8266
esp8266-display-display-version-example.yaml Monitor and control the inverter (Display version) using the internal display port
esp8266-display-display-version-limiter-example.yaml Monitor and control the inverter (Display version) using the internal display port and control the power output on demand via RS485
esp8266-display-wifi-version-example.yaml Monitor and control the inverter (WiFi version) using the display port
esp8266-display-wifi-version-limiter-example.yaml Monitor and control the inverter (WiFi version) using the display port and control the power output on demand via RS485
esp8266-wifi-dongle-example.yaml Monitor and control the inverter using the OEM WiFi dongle with a custom firmware
esp8266-wifi-dongle-example-web-only.yaml Monitor and control the inverter using the OEM WiFi dongle with a custom firmware providing a nice web interface
esp8266-wifi-dongle-limiter-example.yaml Monitor and control the inverter using the OEM WiFi dongle and control the power output on demand via RS485
esp32-multiple-uarts-example.yaml Monitor1 multiple inverters and control the power output on demand both via RS485

Requirements

Schematics

               RS485                      UART
┌─────────┐              ┌──────────┐                ┌─────────┐
│         │              │          │<----- RX ----->│         │
│         │<-----B- ---->│  RS485   │<----- TX ----->│ ESP32/  │
│ GTN1200 │<---- A+ ---->│  to TTL  │<----- GND ---->│ ESP8266 │
│         │<--- GND ---->│  module  │<-- 3.3 VCC --->│         │<-- VCC
│         │              │          │                │         │<-- GND
└─────────┘              └──────────┘                └─────────┘

Please make sure to power the RS485 module with 3.3V because it affects the TTL (transistor-transistor logic) voltage between RS485 module and ESP.

Installation

You can install this component with ESPHome external components feature like this:

external_components:
  - source: github://syssi/esphome-soyosource-gtn-virtual-meter@main

or just use the esp32-example.yaml / esp8266-example.yaml as proof of concept:

# Install esphome
pip3 install esphome

# Clone this external component
git clone https://github.com/syssi/esphome-soyosource-gtn-virtual-meter.git
cd esphome-soyosource-gtn-virtual-meter

# Create a secrets.yaml containing some setup specific secrets
cat > secrets.yaml <<EOF
wifi_ssid: MY_WIFI_SSID
wifi_password: MY_WIFI_PASSWORD

mqtt_host: MY_MQTT_HOST
mqtt_username: MY_MQTT_USERNAME
mqtt_password: MY_MQTT_PASSWORD
EOF

# Validate the configuration, create a binary, upload it, and start logs
# If you use a esp8266 run the esp8266-examle.yaml
esphome run esp32-example.yaml

For a more advanced setup take a look at the esp32-multiple-uarts-example.yaml.

Known issues

None.

Debugging

If this component doesn't work out of the box for your device please update your configuration to enable the debug output of the UART component and increase the log level to the see outgoing and incoming serial traffic:

logger:
  level: DEBUG
  logs:
    api.service: WARN
    ota: WARN
    sensor: DEBUG

uart:
  baud_rate: 4800
  tx_pin: GPIO1
  rx_pin: GPIO3
  debug:
    direction: BOTH

References

Footnotes

  1. Some devices doesn't respond to the status request (0x24 0x00 0x00 0x00 0x00 0x00 0x00 0x00) via RS485. The reason is unknown. This has no effect on the limiter feature. The inverter processes the power demand requests silently. There is a new hardware version since 2022 (purple mainboard / fw version STC8-2022-218) which probably doesn't respond to requests anymore. The 2021 version (blue mainboard & green mainboard, fw version 2021-301) responds for some people and for some not. (#48) 2 3

esphome-soyosource-gtn-virtual-meter's People

Contributors

kev300 avatar syssi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esphome-soyosource-gtn-virtual-meter's Issues

Help setting things up needed

Hello, appreciate your work.
But I am having trouble in setting things up. I have put things together, connected to USB of my Mac. ESPHome installed successfully. Download GIT successfully. I am using NodeMCU board. So I have changed esp8266-example.yaml to use it instead of D1. I have also setup the secret file with correct wifi login.
I don't have MQTT, I don't have homeassistant, I don't want them. So I have commented out everything that looks like mqtt in esp8266-example.yaml. I will not be using the meter that came with the inverter either. I want to set the limiter by hand first, via JSON later but I understand that's way to go - so I just tried saving the example to the esp and monitor for now, "manual mode" if this is the right name for it.
But "esphome run" breaks with "Couldn't find ID 'powermeter0'. Please check ..." of course, because I don't have a power meter - I don't want it to use a power meter!?
Am I using the wrong yaml file? What is the best way for just a very simple basic to start with? No meter. No mqtt. No assistant. Just connect to the inverter and watch it working.
Any hint is greatly appreciated.

Unable to compile "esp8266-display-example.yaml"

Hi,

I've a problem with compiling the "esp8266-display-example.yaml"

It says there is something with the select component:

src/esphome/components/soyosource_display/select/soyosource_select.cpp: In lambda function:
src/esphome/components/soyosource_display/select/soyosource_select.cpp:19:24: error: 'class esphome::soyosource_display::SoyosourceSelect' has no member named 'at'
19 | auto value = this->at(mapping_idx);

src/esphome/components/soyosource_display/select/soyosource_select.cpp: In member function 'virtual void esphome::soyosource_display::SoyosourceSelect::control(const string&)':
src/esphome/components/soyosource_display/select/soyosource_select.cpp:35:20: error: 'class esphome::soyosource_display::SoyosourceSelect' has no member named 'index_of'
35 | auto idx = this->index_of(value);

image

ESP8266

I get this message when trying to flash:

INFO Reading configuration /config/esphome/inverter-l1.yaml...
INFO Updating https://github.com/syssi/esphome-soyosource-gtn-virtual-meter.git@main
Failed config

soyosource_virtual_meter: [source /config/esphome/inverter-l1.yaml:54]

Couldn't find ID 'powermeter'. Please check you have defined an ID with that name in your configuration.
power_id: powermeter
power_sensor_inactivity_timeout: 20s
power_demand_calculation: NEGATIVE_MEASUREMENTS_REQUIRED
min_power_demand: 0
max_power_demand: 900
power_demand_divider: 1
buffer: 10
operation_mode_id: operation_mode_id
update_interval: 3s
address: 0x24

Firmware 2022 801 can´t read nor write - controller in reboot-loop

Hi,
I have the 1200w 48v Modell with display.
it seems like newer firmware doesn´t send any status codes. The "Esp-Soyosource-Controller" also doesn´t get values but the "rs485" shows in the display and I can send a target Power. So I think the Hardware is okay but because there are no values - this firmware crashes.
Is there anyone out there with a solution ?

Whats about this "displayport" Didn´t find any description to it.

Kind Regards

David

Installation

Hi! Never installed a custom component for esphome in Home Assistant before.
How do I do this?

Query the settings less frequently

  1. Request the settings frame just once
  2. Introduce a retrieve_settings button
  3. The update settings frame is transmitted as response of every settings change

Identify the `total energy` payload of the MS51 status frame

I assume the Nuvoton MS51 on the WiFi dongle tracks the delivered energy and provides a total energy reading available at the Android app. The payload of the Soyosource inverter doesn't contain the value for sure.

5A:01:91:40:01:C9:00:DB:00:F9:32:03:7D:00:00:16:C7
5A:01:91:40:01:C9:00:DB:00:F9:32:03:7D:00:00:16:C7
5A:01:91:40:01:C9:00:DB:00:F9:32:03:7D:00:04:16:C3
5A:01:91:40:01:C9:00:DB:00:F9:32:03:7D:00:06:16:C1
5A:01:91:40:01:C9:00:DB:00:F9:32:03:7D:00:0A:16:BD
                                       ^^^^^

0.4kWh
0.6kWh
1.0kWh

Add a better power demand calculation for positive-only smartmeter measurements

In case of positive-only smartmeter measurements the virtual meter is blind at the left limit of the range.

Example scenario:

  1. There is a consumer like a fridge using 500W for a few minutes
  2. The virtual meter will report a demand of 500W & the inverter delivers the 500W
  3. The smartmeter reports a grid import of 0 W
  4. If the fridge turns off the measurement of the smartmeter won't change: 0W
  5. We are exporting 500W to the grid now.

Goal: Try to minimize the time and the power exporting to the grid without knowing how much power is exported

If your smartmeter supports negative measurements / indicates exporting to the grid by a negative sign please use:

soyosource_virtual_meter:
  power_id: powermeter
  power_sensor_inactivity_timeout: 20s
  power_demand_calculation: NEGATIVE_MEASUREMENTS_REQUIRED

soyosource_modbus need a name now

I got the following error:

soyosource_modbus: [source /config/esphome/soyosource.yaml:37]
  
  'name' is a required option for [0].
  - [source /config/esphome/soyosource.yaml:37]
    {}

There is this name used for?
Can i change

soyosource_modbus:

to

soyosource_modbus:
   name: ${name}

Would be nice if the readme will be updated :)

Compensate feedback loop

  1. The power demand is 100W
  2. The virtual meter requests 100W -> the inverter provides 100W -> the power demand is 0W
  3. The virtual meter requests 0W because the power demand is 0W
  4. The power demand is 100W because the inverter provides 0W (goto 1)

Decouple smartmeter and virtual meter updates

At the moment a new smartmeter measurement is passed directly to the inverter. If the smartmeter publishes a new measurement within 3 seconds everything is fine. If the update interval of the smartmeter is less than 3 seconds the setup cannot work properly at because the inverter shuts down "every 3 seconds".

Idea: Decouple both values slightly. Transmit the demand every 3 seconds to the inverter. Allow less frequent demand updates by the smartmeter. Make some timeout configurable to stop the inverter if there a no smartmeter measurements for f.e. 10 seconds.

Add reboot command as button entity

IMHO, the function for rebooting inverter via dongle is prepared in code, but not implemented. According Soyo guys is should be this sequence:

bytestream[0]=0x55;
bytestream[1]=0x11;
bytestream[2]=0x00;
bytestream[3]=0x00;
bytestream[4]=0x00;
bytestream[5]=0x00;
bytestream[6]=0x00;
bytestream[7]=0x00;
bytestream[8]=0x00;
bytestream[9]=0x00;
bytestream[10]=0x00;
bytestream[11]=0xEE;

Am I correct or I overlooked it somewhere in the code?
PS: I'm not sure if this comment belongs to Issue or Discussion. Plz let me know.

MQTT Update interval

Hey @syssi,

sorry for bugging you again... but I have a problem that I don't have a clue on how to solve.
My PowerSensor is sensing and sending the required power every 5s via MQTT.... However the esphome-soyosource-gtn-virtual-meter does only read a new value via MQTT every 60sec or so....
Is there a way to speed up the MQTT and process the incomming MQTT Messages faster?

mqtt

Thanks for your help!

Add a power demand divider

If you want to use multiple soyosource inverter driven by the same virtualmeter/limiter the total demand should be divided by the number of inverters.

Add note about silent devices (RS485)

Some soyosource inverters doesn't respond to the status request (0x24 0x00 0x00 0x00 0x00 0x00 0x00 0x00). The reason is unknown. There is a new hardware version since 2022 (purple mainboard / fw version STC8-2022-218) which probably doesn't respond to requests anymore.

The 2021 version (blue mainboard & green mainboard, fw version 2021-301) responds for some people and for some not.

Use with Shelly 3EM MQTT?

Hi!
Fantastic esphome component and great work!

I was wondering if it is possible to get it working with a Shelly 3EM with MQTT enabled. The Shelly does not provide a topic with total power consumption. It has a topic for instantaneous active power per channel (https://shelly-api-docs.shelly.cloud/gen1/#shelly-3em-mqtt). Can we do some sort of calculation and sum up the three channels (topics) in the YAML?
Or can i get It from the json of the HTTP status page? This looks like this:

{
   "actions_stats" : {
      "skipped" : 0
   },
   "cfg_changed_cnt" : 0,
   "cloud" : {
      "connected" : false,
      "enabled" : false
   },
   "ct_calst" : 0,
   "emeter_n" : {
      "current" : 0,
      "is_valid" : false,
      "ixsum" : 12.68,
      "mismatch" : false
   },
   "emeters" : [
      {
         "current" : 2.06,
         "is_valid" : true,
         "pf" : -0.95,
         "power" : -458.43,
         "total" : 226923.9,
         "total_returned" : 517029.3,
         "voltage" : 234.79
      },
      {
         "current" : 1.87,
         "is_valid" : true,
         "pf" : 0.81,
         "power" : 357.2,
         "total" : 269829.5,
         "total_returned" : 0,
         "voltage" : 235.29
      },
      {
         "current" : 11.34,
         "is_valid" : true,
         "pf" : 1,
         "power" : 2629.79,
         "total" : 1348406.2,
         "total_returned" : 0,
         "voltage" : 232.09
      }
   ],
   "fs_free" : 153612,
   "fs_mounted" : true,
   "fs_size" : 233681,
   "has_update" : false,
   "mac" : "E8DB84D68FFB",
   "mqtt" : {
      "connected" : true
   },
   "ram_free" : 25556,
   "ram_total" : 49928,
   "relays" : [
      {
         "has_timer" : false,
         "is_valid" : true,
         "ison" : true,
         "overpower" : false,
         "source" : "input",
         "timer_duration" : 0,
         "timer_remaining" : 0,
         "timer_started" : 0
      }
   ],
   "serial" : 92,
   "time" : "12:42",
   "total_power" : 2528.56,
   "unixtime" : 1663843375,
   "update" : {
      "has_update" : false,
      "new_version" : "20220830-080542/v1.12-3EM-gcf4f7c2",
      "old_version" : "20220830-080542/v1.12-3EM-gcf4f7c2",
      "status" : "idle"
   },
   "uptime" : 3009,
   "v_data" : 1,
   "wifi_sta" : {
      "connected" : true,
      "ip" : "192.168.1.X",
      "rssi" : -59,
      "ssid" : "AAAAA"
   }
}

Best regards!

Determining the "Power calculation method"

In the CLI output it says: "Using the new method of calculating the power demand" (which overshoots by quite a lot).
Is there a way to use the "standard method"?

I found out, that this is in soyosource_virtual_meter.cpp (L82-L88ff)
Here I can see there is the determination of what method to use.

However both versions do not fit my needs.
I want to implement a "PV-first" functionality in my system and therefore I need the unaltered last MQTT power measurement. This power measurment refelcts the current PV input in Watts and I want to command my inverter to invert exaclty this power so that the PV power gets absorbed right awaybefore charging my batteries.

Thanks for any hints mate!

Add basic display support

Introduce a soyosource_display component to replace the ESP8266 dongle of the WiFi version.

https://forum.drbacke.de/viewtopic.php?p=22798#p22798
https://forum.drbacke.de/viewtopic.php?p=22806#p22806
https://forum.drbacke.de/viewtopic.php?p=23878#p23878
https://github.com/jsphuebner/esp-egycounter/blob/main/battery-control/soyosource_inverter.py

Status request >>> 55 01 00 00 00 00 00 00 00 00 00 FE
Status response <<< A6 03 84 91 - 40 01 C5 00 DB 00 F7 63 02 BC FE

0x40 = Operation mode (40: BAT, 42, PV)
0x01 0xC5 = 45.3 V
0x00 0xDB = 21.9 A
0x00 0xF7 = 247 V
0x63 = 98 = 49.5 Hz (/2)
0x02 0xBC = 700 = 50 °C (/10-20)
0xFE = Checksun
Read settings request >>> 55 03 00 00 00 00 00 00 00 00 00 FC
Read settings response <<< A6 01 72 93 - 40 D4 30 2C 2B 00 FA 64 5A 03 A3

0x40 = Operation mode (40: BAT, 42: PV)
0xD4 = Unknown
0x30 = Unknown
0x2C = Starting voltage (44 V)
0x2B = Shutdown voltage (43 V)
0x00 0xFA - Grid voltage (250 V)
0x64 = Grid frequency (100/2 = 50 Hz)
0x5A = 90 Battery output power (steps of ten: 90, 100, 110)
0x03 = Delay time in seconds
0xA3 = Checksun
Write settings >>> 55 0B 2C 2B 5A 63 00 00 00 04 12 CA
Write settings has no response

Mulitple inverters on the same RS485 bus

2c7a73f implemented a power divider useful when you have more than one of these inverters connected at the same time. I tried to set up exactly this scenario this weekend (two identical 1200W inverters in parallel on the same RS485 bus), however, the result isn't what I was expecting:

The relevant parts of my ESPHome config are:

soyosource_virtual_meter:
  power_id: powermeter
  min_power_demand: 0
  max_power_demand: 1800
  power_demand_divider: 2
  buffer: -3
  power_sensor_inactivity_timeout: 20s
  power_demand_calculation: NEGATIVE_MEASUREMENTS_REQUIRED

Everything works as it should except that the maximum power demand cannot exceed 900 Watt (resulting in both of the inverters doing a 450 W each). Obviously, the whole idea of installing more than one inverter is getting more than 900 W, though.

This leads me to the conclusion that max_power_demand (set to 1800 as above), is not accepted and the default value of 900


cv.Optional(
CONF_MAX_POWER_DEMAND, default=DEFAULT_MAX_POWER_DEMAND
): cv.int_range(min=1, max=2000),

is still used.

This is confirmed by (a) a red border around the input field telling me on hover me that values larger than 900 aren't allowed:
Screenshot from 2022-10-01 12-03-15

and (b) by launching a dedicated web server on the very same device:

Indeed, when adding

web_server:
  port: 80

showing that the maximum of the slider is still at 900:

Screenshot from 2022-10-01 12-07-52

MQTT documentation

Hello there!
thank you very much for the awesome project. It looks very sophisticed and well mantained.

Not working with Home Assistant but with NodeRED in conjunction with Mosquitto, I would like to use the WiFi-TTL and RS485 functionlity via MQTT messages. Is there any documentation on how to use your system with MQTT messages alone? E.g. I am lacking the information on what MQTT topics to subscribe.
Any hint on this would be very welcome!

Thank you!

P.S. I've adapted the esp8266-display-example.yaml to work with my ESP32 DevKit. I want to be able to control both WiFI-TTL and RS485.

Value of produced Power is not exported

Hi!

I checked your code of soyosource_display.cpp and I have a tip for you.

// 11 2 0x00 0xCA

Line 209: ESP_LOGD(TAG, "Unknown (raw): %02X %02X", data[11], data[12]);

According Soyo web application this atribute is the generated Power:

  $("#dcdy").html(parseInt(sje.substr(8,4),16)/10 +" V");
  $("#dcdl").html(parseInt(sje.substr(12,4),16)/10 +" A");
    $("#acdy").html(parseInt(sje.substr(16,4),16) +" V");
    $("#pl").html(parseInt(sje.substr(20,2),16)+" HZ");
    **$("#gl").html(parseInt(sje.substr(22,4),16) +" W");**
     $("#jlfdl").html(parseInt(sje.substr(26,4),16)/10 +" KWH");
    $("#wd").html(parseInt(sje.substr(30,2),16)+" ℃");
    $("#fdzt").html(zt1);
    $("#gzms").html(gzms);
    $("#cwts").html(cwtsa);

I'm attaching source code for inspiration.
Paul

PS: This is my first try in Github. I didn't know where to put it.

soyo-mqtt-redacted.txt

Soyosource doesn't respond to the status request

Hi,

I have a problem where I don't know how to find the error.
I've connected everything like described and the command that will send values to soyo is working (Power demand) so I think the communication is working.
But no values could be read, they all are unknown.

Do you have a hint what could be the problem?

Thanks for your help!

Soyosource doesn't respond on RS485 connection

Hi!
Everything is now set up but I don't get any coomunication from the inverter.
Only the TX diod is blinking. This is my setup:

substitutions:
  name: soyosource-l3
  device_description: "Monitor a Soyosource GTN and control the power output on demand both via RS485"
  external_components_source: github://syssi/esphome-soyosource-gtn-virtual-meter@main
  tx_pin: GPIO1
  rx_pin: GPIO3

esphome:
  name: ${name}
  comment: ${device_description}
  project:
    name: "syssi.esphome-soyosource-gtn-virtual-meter"
    version: 1.1.0

esp8266:
  board: nodemcuv2

external_components:
  - source: ${external_components_source}
    refresh: 0s

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

ota:

# If you use Home Assistant please remove this `mqtt` section and uncomment the `api` component!
#mqtt:
#  broker: !secret mqtt_host
#  username: !secret mqtt_username
#  password: !secret mqtt_password
#  id: mqtt_client



logger:
  baud_rate: 0

uart:
  baud_rate: 4800
  tx_pin: ${tx_pin}
  rx_pin: ${rx_pin}

soyosource_modbus:
  # Optional settings
  #
  # The name is used as prefix for some log messages and should
  # help to distinguish between different instances/devices
  name: inverter_l3

soyosource_inverter:

soyosource_virtual_meter:
  # The state of this sensor (instantaneous power in watt) is used as source
  power_id: powermeter

  # Optional settings
  power_sensor_inactivity_timeout: 20s
  power_demand_calculation: NEGATIVE_MEASUREMENTS_REQUIRED
  min_power_demand: 0
  max_power_demand: 900
  # Split/distribute the power demand if you have multiple inverters attached to the same RS485 bus
  power_demand_divider: 1
  # A positive buffer value (10) tries to avoid exporting power to the grid (demand - 10 watts)
  # A negative buffer value (-10) exports power to the grid (demand + 10 watts)
  buffer: 10
  # The operation_mode_id sensor is expected here. Passing the operation_mode won't work
  # The state is used to suspend the limiter if the operation mode of the inverter isn't 0x0 (normal)
  operation_mode_id: operation_mode_id

  # The update interval is important and defaults to 3 seconds. If the demand is sent too frequently
  # or rarely the interverter stops. TODO: Identify and validate the lower and upper update limit
  update_interval: 3s

binary_sensor:
  - platform: soyosource_inverter
    fan_running:
      name: "${name} fan running"

sensor:
  - platform: soyosource_virtual_meter
    power_demand:
      name: "${name} power demand"

  - platform: soyosource_inverter
    operation_mode_id:
      name: "${name} operation mode id"
      id: operation_mode_id
    battery_voltage:
      name: "${name} battery voltage"
    battery_current:
      name: "${name} battery current"
    battery_power:
      name: "${name} battery power"
    ac_voltage:
      name: "${name} ac voltage"
    ac_frequency:
      name: "${name} ac frequency"
    temperature:
      name: "${name} temperature"

  # mqtt subscribe example
 # - id: powermeter
 #   internal: true
 #   platform: mqtt_subscribe
 #   name: "${name} instantaneous power consumption"
 #   topic: "smartmeter/sensor/groundfloor/obis/1-0:16.7.0/255/value"
 #   accuracy_decimals: 2
 #   unit_of_measurement: W
 #   device_class: power
 #   filters:
 #     - throttle_average: 15s

#  # import smartmeter reading from homeassistant
#  # requires the "api" component see above
  - platform: homeassistant
    id: powermeter
    name: "${name} smartmeter"
    entity_id: sensor.smartmeter_l3
    filters:
      - throttle_average: 10s


text_sensor:
  - platform: soyosource_inverter
    operation_mode:
      name: "${name} operation mode"
  - platform: soyosource_virtual_meter
    operation_mode:
      name: "${name} operation mode"

number:
  - platform: soyosource_virtual_meter
    manual_power_demand:
      name: "${name} manual power demand"
    max_power_demand:
      name: "${name} max power demand"
      initial_value: 600
      restore_value: true

switch:
  - platform: soyosource_virtual_meter
    manual_mode:
      name: "${name} manual mode"
      restore_mode: RESTORE_DEFAULT_ON
    emergency_power_off:
      name: "${name} emergency power off"
      restore_mode: RESTORE_DEFAULT_OFF
# Enable Home Assistant API
api:

PIP inverters

Hi,

first of all thank you very much for your effort. Your ideas and the explanation of how to implement it are really great.
I am wondering if this virtual meter imeplementation does also work with bigger inverters from PIPsolar/Voltronic to reach a zero feed in scenario.

Did anyone try this already or isn't there a chance at all?

Thanks,
Ingo

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.