GithubHelp home page GithubHelp logo

hypfer / deye-microinverter-cloud-free Goto Github PK

View Code? Open in Web Editor NEW
103.0 11.0 13.0 2.21 MB

Documentation and tooling to use Deye microinverters without the solarman cloud

Dockerfile 0.58% JavaScript 87.95% Kaitai Struct 11.47%

deye-microinverter-cloud-free's Introduction

Deye Microinverter - Cloud-free

Deye microinverter in the sun

Solar power generation work best if there are no clouds anywhere to be seen :)

This repository aims to document how to use Deye microinverters entirely local only and cloud free. It consolidates the knowledge that at the time of writing was spread over hundreds of different posts, issues and comments.

Furthermore, it also features a cloud replacement implementation so you won't have to install any apps or create any accounts. You also won't have to share any e-mail address or phone number.

Devices

So far, the following devices are known to work like this:

  • Deye SUN600G3-EU-230
  • Deye SUN-M80G3-EU-Q0

it should also be the same for other inverters of the same series including rebrands such as Bosswerk.
If you have verified that it works with another device, feel free to extend this list.

TL;DR

Here are the main things you will want to know about these microinverters:

  • They have Wi-Fi
  • They can be connected to Wi-Fi networks via their webinterface
  • They can operate without an internet connection
  • They can operate without an account
  • They can be monitored and controlled via their local ModbusTCP interface
  • You can also completely replace the cloud with a local implementation: dummycloud

Preamble

Compared to traditional PV setups where a single large inverter is connected to strings of many PV Panels, in a microinverter Setup, you have one small inverter for every 1-4 PV Panels.

There are up- and downsides to both of these topologies but that is for now out of scope for this document. What you need to know is that microinverters are cheaper and scaled-down versions of their larger brothers.

Because they only cost 150-200€ they make getting into solar power generation accessible for many more people than ever before. Paired with two PV Panels you're looking at an investment of at most 1000€ to get free energy from the sun.

Additionally, because you only need few panels for the setup to make sense financially, often a balcony or garden can be enough for a small solar setup. This is especially interesting for people living in rental properties.

Word of warning

After reading through way too many concerning posts and comments, here's what has to be said:

Please please please don't cut any corners when it comes to safety-critical stuff such as cabling and also mounting panels. You don't want your home to burn down or anyone to be killed by a falling 1.5m² 25kg PV Panel.

Electricity is dangerous. So are heavy things with a huge attack surface for wind.
When in doubt, contact a local electrician. They know what they're doing and will help you.

If people do stupid stuff with this technology, it will become inaccessible to every one of us, as there will be legislation preventing further idiot-induced injuries/harm, ruining everything for the vast majority of reasonable users.

Setup

Now with that out of the way, we can talk about what to do.

The first important thing to note is that these inverters will shut down if they don't sense at least 20V on at least one PV input. This means that you have to do all this during the day connected while connected to a PV panel.

Alternatively, some people reported that they got the inverter to wake up by connecting a 30V lab power supply to one of the PV inputs.

Joining Wi-Fi

By default, your microinverter should provide a Wi-Fi Access point with an SSID named similarly to AP_4151234567. Using a laptop, connect to that using the default AP password 12345678.

In a browser, navigate to the IP of the inverter in that network which should by default be http://10.10.100.254/. Log in to the webinterface with the default credentials admin:admin and use that to configure Wi-Fi.

wifi configuration

The AP-mode can be a bit unstable so prepare for the webinterface stopping to work occasionally. Once the inverter is connected to you Wi-Fi, this should not be an issue anymore.

Ensuring a patched logger firmware

After joining the inverter to you Wi-Fi network, connect to the webinterface again but this time using the IP in your network.

Now, expand the Device Information on the Status page and ensure that your logger firmware version is at least MW3_16U_5406_1.53 or newer.

firmware version

Older firmwares don't allow reconfiguration of the Wi-Fi AP, which is a a serious vulnerability, as it allows an attacker to easily gain access to your real Wi-Fi credentials.

If your firmware is older, you can find firmware update files in this repo: https://github.com/dasrecht/deye-firmware. You can flash them using the Upgrade Firmware page of the webinterface.

Securing the AP

With the logger firmware upgraded, you should now use the webinterface to change SSID and Password for the AP of the inverter.

ap config

Pick something not immediately obvious and relatively secure as - as mentioned before - it is all that prevents an attacker from connecting to that AP and reading out your main Wi-Fi credentials.

I have been told that you can also use the wizard to disable the AP entirely, however personally, I like having a fallback way into the inverter, especially since I did not see a "Factory Reset" button on the device.

Configuring your network

Now that the AP is secured, use the configuration interface of your router to block internet access of the inverter. You will also likely want to configure it, so that it will always get the same IP assigned via DHCP.

These things should be dropdowns and checkboxes in most consumer routers. If you run some advanced setup, you will know what to do.

You can also try to DNS-block access1.solarmanpv.com and access2.solarmanpv.com, however it seems that the logger firmware might also use hardcoded IPs? Either way, just blocking internet access entirely should be much easier in most setups anyway and comes with no known downsides.

Usage

After connecting the inverter to your Wi-Fi network, securing it and blocking its internet access, all you need to do now is monitor and control it.

For this there are different options.

Local polling

Most of the options rely on polling the local modbusTCP interface that uses the inverter logger serial number for authentication.

To get this serial, simply look at the sticker on the device:

logger_serial_number

If you feel like doing something arcane and/or want to build something for that yourself, you can find the Modbus spec for these inverters in the complementary assets repo: https://github.com/Hypfer/deye-microinverter-cloud-free-assets.

Note that with internet access blocked, the inverter never receives any time information. This breaks the Yield today counter as it will never properly reset unless you manually set the time on each boot using modbus register 22, 23 and 24.

With Home Assistant

With Home Assistant, the easiest way to get your inverter connected is by using HACS to install the Solarman custom_component. Please refer to the project documentation on how to install and configure those.

Home Assistant offers powerful tooling to store, visualize and process data right out of the box.

For example, here's how a solar dashboard could look like using mock data and only stock home assistant cards. The real world will obviously look slightly different but the idea should be the same:

example home assistant dashboard

With other smarthome software

If you're using OpenHAB, FHEM, ioBroker or something else, as long as it can speak MQTT, you can use for example https://github.com/kbialek/deye-inverter-mqtt to connect your inverter to your smarthome.

A docker-compose.yml entry for that tool could look like this:

  deyetomqtt:
    image: ghcr.io/kbialek/deye-inverter-mqtt
    container_name: "deyetomqtt"
    environment:
      - LOG_LEVEL=DEBUG
      - DEYE_DATA_READ_INTERVAL=60
      - DEYE_METRIC_GROUPS=micro
      - DEYE_LOGGER_SERIAL_NUMBER=4151234567
      - DEYE_LOGGER_IP_ADDRESS=192.168.178.123
      - DEYE_LOGGER_PORT=8899
      - MQTT_HOST=192.168.178.2
      - MQTT_TOPIC_PREFIX=deye
      - MQTT_PORT=1883
    restart: always

Keep in mind that this might change in the future so make sure to always check the docs of the project itself.

Using the dummycloud

If you don't want polling and/or are unhappy with having the inverter in a perpetual state of reconnection to the cloud, you can instead deploy the cloud replacement that can be found in the dummycloud folder in this repository.

This will make the inverter happy, provide it with the correct time for daily counters to work and push all the data to your MQTT broker. It will also autoconfigure entities for home assistant.

dummycloud_demo.png

It is however a bit more complicated than the polling approaches, as it requires you to understand how networks work and how to deploy a service somewhere. Nothing too arcane of course but if you don't know anything about linux, you might want to pass on this.

For further information, check out the dummycloud folder.

Misc

Hidden configuration page

These inverters also have a hidden configuration page that is reachable via /config_hide.html.

There, it is possible to configure

  • Cloud Server A and B
  • Serial Port parameters (which serial port?)
  • The port of the modbusTCP server of the inverter
  • Enable/Disable the AP
  • Switch the branding(?)
Click here to show a screenshot of the page

config hide screenshot

AT Commands

Apart from the modbus over tcp interface, these inverters also provide another interface on port 48899 where you can talk to it over AT commands like a modem. For that, for now you can use this tool: https://github.com/s10l/deye-logger-at-cmd.

Some firmware versions seem to respond to the AT+H command with a full list of commands. Mine doesn't, however a user fortunately posted a full response which is the source for this table:

Click here to show the AT command table
Command Vendor Description
AT+TIME Set/Get Device Time
AT+ADDRESS Set/Get Device Address
AT+KEY Set/Get Device Password
AT+MTYPE Set/Get Device Mtype
AT+CNMOSAVE Set/Get TCPB Link Mode
AT+DEVICENUM Set/Get Device Link Num
AT+DEVSELCTL Set/Get Web Device List Info
AT+NDBGS Set/Get Debug Status
AT+FFCLER Clear File in Flash
AT+LANGSEL Select Language
AT+ADTIME Set/Get Device Time
AT+YZFTIME Set/Get Device factory Time
AT+TZEARSE Clear yz File in Flash
AT+YZACK Clear yz File in Flash
AT+YZTIME Clear yz File in Flash
AT+YZWKTIME Clear yz File in Flash
AT+YZERRCLR Clear yz File in Flash
AT+YZDBNUM Clear yz File in Flash
AT+YZDB Clear yz File in Flash
AT+YZVER Clear yz File in Flash
AT+YZLOG Clear yz File in Flash
AT+YZAPP Clear yz File in Flash
AT+YZAPSTAT Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZWAKEYCTL Clear yz File in Flash
AT+YZsize Clear yz File in Flash
AT+YZFLSHTEST=,<devlist_status>
AT+YZFLSHTEST=,<devlist_status>
AT+YZVER Clear yz File in Flash
AT+YZVER Clear yz File in Flash
AT+YZVER Clear yz File in Flash
AT+YZVER Clear yz File in Flash
AT+YZVER Clear yz File in Flash
AT+YZEXPFUN Clear yz File in Flash
AT+YZEXPFUN Clear yz File in Flash
AT+YZEXPFUN Clear yz File in Flash
AT+YZEXPFUN Clear yz File in Flash
AT+YZEXPFUN Clear yz File in Flash
AT+YZEXPFUN Clear yz File in Flash
AT+TMODE Set/Get the UART work mode.
AT+ENTM Goto Through MOde.
AT+UART Set/Get the UART0/UART1 Parameters.
AT+WSMAC Set/Get Module MAC Address.
AT+WAMAC Get Module MAC Address in AP mode.
AT+NDBGL set/get debug level
AT+RELD Reload the default setting and reboot.
AT+RLDEN Put on/off the Reload Pin.
AT+MID Get The Module ID.
AT+WRMID Write Module ID.
AT+ASWD Set/Query WiFi configuration code.
AT+VER Get application version.
AT+BVER Get bootloader version.
AT+HWVER Get hardware version.
AT+FCLR Clear Fsetting.
AT+CFGRD Get current system config.
AT+CFGTF Save Current Config to Default Config.
AT+SMEM show system memory stat
AT+OTA OTA
AT+UPURL Set/Get the path of remote upgrade.
AT+CMDPW Set/Get cmd password in throuphput mode.
AT+UID Set/Get UID.
AT+E Echo ON/Off, to turn on/off command line echo function.
AT+Z Reset the Module.
AT+SRST Soft Reset the Module.
AT+H show help
AT+NETP Set/Get the Net Protocol Parameters.
AT+TCPLK Get The state of TCP link.
AT+TCPTO Set/Get TCP time out.
AT+TCPDIS Connect/Dis-connect the TCP Client link
AT+MAXSK Set/Get MAX num of TCP socket (1~5)
AT+RCV Recv data from socket_a
AT+SEND Send data to socket_a
AT+SOCKB Set/Get Parameters of socket_b.
AT+TCPLKB Get The state of TCP_B link.
AT+TCPTOB Set/Get TCP_B time out.
AT+TCPDISB Connect/Dis-connect the TCP_B Client link.
AT+RCVB Recv data from socket_b
AT+SNDB Send data to socket_b
AT+WMODE Set/Get the WIFI Operation Mode (AP or STA).
AT+WSSSID Set/Get the AP's SSID of WIFI STA Mode.
AT+WSKEY Set/Get the Security Parameters of WIFI STA Mode.
AT+WSLK Get Link Status of the Module (Only for STA Mode).
AT+WSLQ Get Link Quality of the Module (Only for STA Mode).
AT+WAP Set/Get the AP parameters.
AT+WAKEY Set/Get the Security Parameters of WIFI AP Mode.
AT+WALK Show sta information of AP connection.
AT+WALKIND enable/disable LED indication of AP connection.
AT+WAPMXSTA Set/Get the Max Number Of Sta Connected to Ap.
AT+WSCAN Get The AP site Survey (only for STA Mode).
AT+SMTLK Start Smart Configuration.
AT+SMTLKST=mode,protocol Setup smartlnk mode and protocol.
AT+SMARTAPCONFIG Enable/disable smart AP config function.
AT+SMARTAPSTART Start smart AP config function.
AT+WPS Start WPS.
AT+DISPS Disable power saving mode of WIFI
AT+WIFI=UP/DOWN Power down or up the wifi chip.
AT+MDCH Put on/off automatic switching WIFI mode.
AT+WSLKO Enable/Disable connect router with the best signal.
AT+DTIM Set/Get station listen interval(1~3).
AT+UDPLCPT Set/Get local UDP port.
AT+PING General PING command.
AT+WANN Set/Get The WAN setting if in STA mode.
AT+LANN Set/Get The LAN setting if in ADHOC mode.
AT+WADHCP enable/disable AP dhcp server and set ip address pool
AT+WEBU Set/Get the Login Parameters of WEB page.
AT+WEBVER Get WEB version.
AT+PLANG=EN/CN Set/Get the language of WEB page.
AT+WSDNS Set/Get the DNS Server address.
AT+NTPEN Enable/Disable NTP Server.
AT+NTPRF Set/Query NTP.
AT+NTPTM Set/Query Ntp Time.
AT+NTPSER Set/Query Ntp Server.
AT+TXPWR Set/Get wifi rf tx power.
AT+RFTESTMODE RF test mode ON/OFF.

Donate

If this software and documentation effort brought value to you, there's the option to leave a small donation using the "Sponsor" button on top of the repo or by clicking right here.

Thanks!

deye-microinverter-cloud-free's People

Contributors

hypfer avatar k2iuh avatar palto42 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  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  avatar

deye-microinverter-cloud-free's Issues

decreasing "Grid energy today"

Hi Hypfer,
thanks for this awesome project. I'm running the dummy cloud and for some reason the "grid energy today" value seems to be decreasing? This also happens for the "Grid energy total" (see screenshots)

Bildschirmfoto 2023-10-20 um 11 31 21 image

Support for SUN-M80G3-EU-Q0

Hi, I'm running the Dummycloud with a Deye SUN-M80G3-EU-Q0 with Firmware MW3_16U_5406_2.32-D1 and I receive a lot of data packets that contain bullshit after being parsed. Most of the time, I receive multiple packets in row and often the first one contains reasonable data and the latter bullshit. But this is not always the case.

Here are some example logs:

 [2024-04-08T17:14:03.092Z] [TRACE] 2024-04-08T17:14:03.092Z Data received from client: �JB,��Tgi��e�2305107146Z�        ��
▒�▒�▒�▒�V0.2.0.1V0.1.1.7V1.2.1.8@'q2305107146-1    2305107146-2    2305107146-3    2305107146-4    �,
�&�<▒   ▒��,I
�&�=

[2024-04-08T17:14:03.092Z] [TRACE] 2024-04-08T17:14:03.092Z Data a54a01104215162c9ad6ea0108540516670069030000d60fad6501008e0500003233303531303731343604005a000000ef06000000000000100900000000000000000000921304000000d20a18fc18fc18fc18fc0000000000000000000000000f01000016010000000000000000000056302e322e302e3156302e312e312e3756312e322e312e38000000001f4002010004000400040000000000000327000003710000000000000000323330353130373134362d3120202020323330353130373134362d3220202020323330353130373134362d3320202020323330353130373134362d3420202020139c002c00010000000000000abe0726141e128e003c1804081109010001000102011712180000000000000000000000000000000000ff000000000000139c002c00000000000000000049000000000001000000000abe0726141e128e7f3d0000000000000000000000020c15
[2024-04-08T17:14:03.092Z] [DEBUG] Received packet of type "DATA"
[2024-04-08T17:14:03.092Z] [DEBUG] DATA packet data from ::ffff:192.168.179.10 {
  pv: {
    '1': { v: 27.1, i: 0, w: 0, kWh_today: 0.4, kWh_total: 80.7 },
    '2': { v: 27.8, i: 0, w: 0, kWh_today: 0.4, kWh_total: 88.1 },
    '3': { v: 0, i: 0, w: 0, kWh_today: 0, kWh_total: 0 },
    '4': { v: 0, i: 0, w: 0, kWh_today: 0, kWh_total: 0 }
  },
  grid: {
    active_power_w: 4,
    kWh_today: 0.9,
    kWh_total: 177.5,
    v: 232,
    i: 0,
    hz: 50.1
  },
  inverter: { radiator_temp_celsius: 27.7 },
  inverter_meta: {
    rated_power_w: 800,
    mppt_count: 2,
    startup_self_check_time: 60,
    current_time: 2024-04-08T17:09:01.000Z,
    grid_freq_hz_overfreq_load_reduction_starting_point: 50.2,
    grid_overfreq_load_reduction_percent: 44,
    grid_v_limit_upper: 275,
    grid_v_limit_lower: 183,
    grid_freq_hz_limit_upper: 51.5,
    grid_freq_hz_limit_lower: 47.5,
    protocol_ver: 'V0.2.0.1',
    dc_master_fw_ver: 'V0.1.1.7',
    ac_fw_ver: 'V1.2.1.8'
  }
}
[2024-04-08T17:14:03.093Z] [DEBUG] Data event emitted.
[2024-04-08T17:14:03.093Z] [TRACE] Response a50a00101216162c9ad6ea0101db251466000000005a15
[2024-04-08T17:14:03.297Z] [TRACE] 2024-04-08T17:14:03.297Z Data received from client: �*B,���Tgi��e�3806571563-01230510714�"o��
                                                                                                                                ;
                                                                                                                                 ;&

                                                                                                                                   ��

,



        ����A   �#x@�,�.�0�
                           ���`���@��LSW5BLE_MW17_5406_RELAY_270_1.00-SH#
[2024-04-08T17:14:03.298Z] [DEBUG] Received packet of type "DATA"
[2024-04-08T17:14:03.298Z] [DEBUG] DATA packet data from ::ffff:192.168.179.10 {
  pv: {
    '1': { v: 0, i: 0, w: 0, kWh_today: 1, kWh_total: 195.5 },
    '2': { v: 0, i: 3339.1, w: 0, kWh_today: 1, kWh_total: 475 },
    '3': { v: 474.3, i: 25.6, w: 12142.08, kWh_today: 1, kWh_total: 253 },
    '4': { v: 0, i: 0, w: 0, kWh_today: 231.4, kWh_total: 2 }
  },
  grid: {
    active_power_w: 0,
    kWh_today: 0.49,
    kWh_total: 89235128.2,
    v: 1387.6,
    i: 0.8,
    hz: 0
  },
  inverter: { radiator_temp_celsius: 0 },
  inverter_meta: {
    rated_power_w: 30,
    mppt_count: 0,
    startup_self_check_time: 0,
    current_time: Invalid Date,
    grid_freq_hz_overfreq_load_reduction_starting_point: 0,
    grid_overfreq_load_reduction_percent: 256,
    grid_v_limit_upper: 0,
    grid_v_limit_lower: 0,
    grid_freq_hz_limit_upper: 0,
    grid_freq_hz_limit_lower: 0,
    protocol_ver: '\x00\x02\x00\x00\x00\x02\x0B;',
    dc_master_fw_ver: '\x0B;\x07&\x04\x0B\x04\x0B',
    ac_fw_ver: '\x14\x1E\x14\x1E\x12\x0E\x12\x0E'
  }
}
[2024-04-08T17:14:03.299Z] [DEBUG] Data event emitted.
[2024-04-08T17:14:03.299Z] [TRACE] Response a50a00101217172c9ad6ea0101db251466000000005c15

Can you make any sense of it?

Inverter not connecting to dummycloud

My inverters don't want to connect to the dummycloud.
Both are configured to use the IP Address of the docker server:
grafik

The container is up and running with that docker-compose config:
grafik

The container connects to the mqtt broker:
grafik

But still both inverters state they aren't connected:
grafik

Is there anything i can do to investigate that further?

[enhancement] Integrate files to make your repository accessible for HomeAssistant?

Hi,

I forked vordenken's fork of your excellent Deye dummycloud (thank you!) in order to make it accessible for HomeAssistant as an add-on repository.

I created "repository.yaml", "dummycloud/build.yaml", "dummycloud/config.yaml" and edited "dummycloud/Dockerfile" in order to be able to add your dummycloud as a HomeAssistant Supervisor add-on.
Please find all mentioned files here.

As I am not able to program anything myself or to maintain this repository further, I wanted to ask if you're interested in adding those files to your "original" dummycloud repository.

Thanks for your and vordenken's great work and best regards,
David

How to get Yield today working

@Hypfer Thanks for your great documentation on this!

The one thing I'm a bit unclear on is how to get Yield today working:

Note that with internet access blocked, the inverter never receives any time information. This breaks the Yield today counter as it will never properly reset unless you manually set the time on each boot using modbus register 22, 23 and 24

Is this something homeassistant can do by setting the registers via modbus if the device comes online? Do you have the config for this and can you publish it?

Q: Changing data logging rate when port 48899 not available

Hi,

I got dummycloud running - thanks a lot for your work!

Now I wanted to increase the data logging rate, but my 2000W microinverter refuses connections on port 48899. Only ports 8899 and 80 are open.

Do you happen to know an alternative solution?

Thanks!

Is the faster could-reporting "fake"?

I was comparing the reported data using this great dummycloud software with the data I get via deye-inverter-mqtt. At least with the firmware 1.57 it seems that the faster reporting configured via AT command is not providing more measurements but just re-sending the same measurement more often.

If anyone else can confirm my observation, it might be worth to mention it in the README. I really like the dummycloudsolution anyway, just wanted to set right expectations.

$ deye-logger-at-cmd -t <deye-ip>:48899 -xat AT+TIME
2023/10/15 07:18:59 * Connecting :0 -> <deye-ip>:48899...
2023/10/15 07:19:02 +ok=1,60,120
2023/10/15 07:19:03

In the below diagram you can see the two in comparison, showing that the data from dummycloud is also only changing about every 5 minutes.

image

Hints for protocol decoding

Hi, thanks for publishing the dummy cloud! I also worked on deciphering the protocol over the past weeks and we basically found the same things. I might have some additions, I'd need to check in detail.

Until now, I only had access to packets from the SUN300G3 and I see you are using the 600 model. There should be a value specifying the number of usable/used MPPT paths, but I see several bytes with the value 0x01.

The relevant payload bytes are: 15, 131, 132, 228, 252
Is one of them constantly 0x02 for you?

[WARN] Received packet of unknown type "0x43"

Hello again :)

After my other issue (decreasing grid power today) I went through the logs and found a lot of warnings regarding this unknown packet.
Bildschirmfoto 2023-10-22 um 14 21 30

Is this something to worry about?
I'm using the Deye SUN600G3-EU-230 with firmware "MW3_16U_5406_2.32".

Handling Last Reported Values When Inverter Goes Offline

I've been using the dummycloud for a few days now, and it's impressively stable and reliable. Thanks for your excellent work on this!

However, I've come across an issue. When my inverter goes offline (typically when it gets dark), the values vanish from my dashboard due to their expiration after 300 seconds. Of course, this is as designed.

But, for my use-case, I'd like to see some of the last recorded values. One straightforward fix would be to either prevent their expiration or extend the expiration time. By doing so, however, there's another problem: the values displayed would be the last the inverter could operate with, which is slightly above 0, rather than the actual value when the inverter is offline, which is 0. This approach would be super helpful, especially when I want to check the day's total production in the evening.

However, the flip side is that we wouldn't be alerted if the inverter stops sending data due to some malfunction.

Another option could be to save the last value (like the last temperature or any other relevant data) to a helper entity through automation.

Honestly, I'm a bit torn on what's the best solution and don't have a strong preference. I'd love to hear your thoughts on this. What do you think?

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.