Removed Shelly firmware stuff, as it is not open source

This commit is contained in:
simonox 2023-02-27 17:04:05 +01:00
parent 37b3a20294
commit eae4964cde

View file

@ -2,102 +2,15 @@
Shelly Plugs are quite cheap but relatively accurate to measure power consumptions less than 2.5 kW. Shelly Plugs are quite cheap but relatively accurate to measure power consumptions less than 2.5 kW.
## Using Shellies Firmware
If you already have a sheyll device, you can locate it in your network.
![Web interface](./docs/images/shelly1.png "web interace")
MQTT can be enabled under "ADVANCED - DEVELOPER SETTINGS" -> "MQTT".
![MQTT](./docs/images/shelly2.png "mqtt2")
Then it will post a message on boot to your MQTT server:
```json
{
"wifi_sta": {
"connected": true,
"ssid": "Guest",
"ip": "192.168.2.150",
"rssi": -43
},
"cloud": {
"enabled": false,
"connected": false
},
"mqtt": {
"connected": true
},
"time": "17:19",
"unixtime": 1676909964,
"serial": 1,
"has_update": false,
"mac": "4022D8891E97",
"cfg_changed_cnt": 0,
"actions_stats": {
"skipped": 0
},
"relays": [
{
"ison": true,
"has_timer": false,
"timer_started": 0,
"timer_duration": 0,
"timer_remaining": 0,
"overpower": false,
"source": "input"
}
],
"meters": [
{
"power": 117.46,
"overpower": 0,
"is_valid": true,
"timestamp": 1676913564,
"counters": [
0,
0,
0
],
"total": 0
}
],
"temperature": 0,
"overtemperature": false,
"tmp": {
"tC": 0,
"tF": 32,
"is_valid": true
},
"update": {
"status": "unknown",
"has_update": false,
"new_version": "",
"old_version": "20230109-114426/v1.12.2-g32055ee"
},
"ram_total": 52064,
"ram_free": 39744,
"fs_size": 233681,
"fs_free": 166664,
"uptime": 5
}
```
You an use shelly script to update this status periodically.
A documentation on how to do this can be found on [Shellie's documentation](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/).
## Flash Tasmota ## Flash Tasmota
There's an OpenSource project to flash Tasmota on Shelly Plug S': [mg2x](https://github.com/arendst/mgos-to-tasmota) There's an OpenSource project to flash Tasmota on Shelly Plugs: [mg2x](https://github.com/arendst/mgos-to-tasmota)
> Danger: This is still not working. Locate your Shellie's IP adress (in my case: 192.168.2.150) and update it "over the air" with the Tasmota firmware:
Locate your Shellie's IP adress (here: 192.168.2.150) and update it "over the air" with the Tasmota firmware:
http://192.168.2.150/ota?url=http://ota.tasmota.com/tasmota/shelly/mg2tasmota-ShellyPlugS.zip http://192.168.2.150/ota?url=http://ota.tasmota.com/tasmota/shelly/mg2tasmota-ShellyPlugS.zip
Your shelly will return something like a JSON object that looks like that: Your shelly will return a JSON object that looks like that:
``` ```
{ {
@ -112,7 +25,7 @@ After a while your Shelly Plug S should be flashed with Tasmota firmware.
> Just be patient. This took longer than five minutes in my DSL connected network. > Just be patient. This took longer than five minutes in my DSL connected network.
It will create create a new Wifi. The Shelly Plus S will create create a new Wifi.
![Tasmota Wifi](./docs/images/wifi.png) ![Tasmota Wifi](./docs/images/wifi.png)
@ -120,7 +33,7 @@ Join that Wifi and [configure the device)(http://192.164.4.1/).
![Join Wifi](./docs/images/configure-wifi.png) ![Join Wifi](./docs/images/configure-wifi.png)
You can configure it a a BlitzWolf SHP product. You can configure it as a BlitzWolf SHP product.
Then it offers you power measurement and a programmable toogle. Then it offers you power measurement and a programmable toogle.
@ -153,7 +66,7 @@ It will post MQTT messages unter a topic `tele/tasmota_891E97/SENSOR` like this
} }
``` ```
We now can consume this messages in Node-RED and post them into InfluxDB and build a dashboard in Grafana. We now can consume this messages in Node-RED, store them in InfluxDB and build a dashboard in Grafana.
### InfluxDB Bucket ### InfluxDB Bucket
@ -165,7 +78,7 @@ I create a usual flow in Node-RED. A MQTT node fetches the values.
![Node-RED](./docs/images/node-red.png) ![Node-RED](./docs/images/node-red.png)
The message is fed into a filter function to filter usefull information: The message is fed into a filter function to only store usefull information:
``` ```
return { return {
@ -185,7 +98,7 @@ In Influx DB Data Explorer you can query the stored data.
![Data Explorer](./docs/images/data-explorer.png) ![Data Explorer](./docs/images/data-explorer.png)
The query created by Data Explorer look like that: The query created by Data Explorer looks like that:
``` ```
from(bucket: "shelly") from(bucket: "shelly")