Das Open Source Projekt "Solaranzeige" bietet eine Shelly Automation auf einem Raspberry Pi, die lokal läuft und für etwas kniffligere Aufgaben gedacht ist. Hier ist die genaue Beschreibung und hier sind mehr Informationen darüber.
Beiträge von Funkboje
VPN/Proxy erkannt
Es scheint, dass Sie einen VPN- oder Proxy-Dienst verwenden. Bitte beachten Sie, dass die Nutzung eines solchen Dienstes die Funktionalität dieser Webseite einschränken kann.
-
-
Kann es sein, dass genau bei diesem Sensor die Funkverbindung schwankt? Es muss ja einen Grund haben, warum nur ein Sensor das Problem hat.
-
Vielleicht wird ja doch eine Quittung zurückgesendet, auf die der Button1 einfach wartet und die nie kommt.
-
Hi,
hat es bei dir was geholfen? Ich habe ca 15 D&W, aber bei einem fällt die Batterie nach ~2 Tagen Betrieb auf einmal von 100% auf 9% ab. Jetzt schon bei der 2. Batterie. Funktionieren tut er ansonsten ohne Probleme. Alle haben den selben Modus und die aktuellste Firmware...
Mir ist folgendes aufgefallen,
ich habe einen Button1 mit einem Shelly 1 Gen 3 verbunden und die Batterie des Button1 bleibt bei 100%. Sobald ich jedoch den Shelly 1 Gen3 vom Strom nehme, danach den Button1 betätige und den Shelly 1 Gen3 eine Woche lang ohne Strom lasse, ist nach einer Woche die Batterie im Button1 leer.
Es sieht so aus, als ob das "angelernte" BLU Gerät pausenlos versucht eine Verbindung zum GEN3 Gerät aufzubauen und dieses kann nicht antworten, da es ja stromlos ist. Irgendwo da, muss das Problem liegen. Ihr könnte das aber selber einmal testen.
-
Ich habe den Hersteller deiner Wetterstation nach einer Protokollbeschreibung gefragt und folgende Antwort bekommen:
ZitatHello,
Thank you for your email.
Our weather stations can only upload data to Weather Underground (WU) and WeatherCloud (WC) via wifi and then view the data on WU and WC or on an app.
Sincerely,
Sainlogic
Phone: +1 508 758 0493 (Skype: Not available in May)
New Phone: +1 (888) 513-9823
Time: Mon-Fri (10 a.m. - 6 p.m. EST)
Email Customer Service will reply within 24 hours on weekdays and within 48 hours on weekends.Wie man so etwas mit dem Open Source Projekt "Solaranzeige" ausliest und die Daten in eine Influx Datenbank speichert, steht hier:
-
Das scheinen aber Daten aus irgendeiner Cloud zu sein, nicht die, direkt aus dem Gerät.
-
Und was sieht man dann im Browser? Kannst du mal ein Screenshot posten?
Welches Modell hast du genau?
-
Hat das Gerät denn eine API und gäbe es denn davon eine Protokollbeschreibung?
-
Es gibt eine Shelly Automation Version 2 von der Solaranzeige. Dazu müssten die Werte nur in einer Datenbank vorliegen. Das Open Source Projekt Solaranzeige kann die Wetterstationen von Elsner und Eltago auslesen. Ist das so eine Wetterstation?
Informationen über die Steuerung gibt es hier.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Was mir noch aufgefallen ist. Ich habe einen Shelly BLU Button1 noch verbunden. Danach konnte ich nur noch 5 Sensorwerte auslesen. 200 bis 204. Der Temperaturwert ID 205 fehlt plötzlich. Habe ich den Button wieder gelöscht, konnte ich wieder die 6 Sensorwerte auslesen.
Gibt es eine Begrenzung auf 2 Shelly BLU Geräte?
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. So sieht das Ergebnis mit 3 Shelly BLU Geräten aus:
Code
Alles anzeigenroot@rpisteuerung:/var/www/html/em # curl -s http://192.168.2.30/rpc/shelly.getComponents | jq { "components": [ { "key": "ble", "status": {}, "config": { "enable": true, "rpc": { "enable": true } } }, { "key": "bthome", "status": {}, "config": {} }, { "key": "bthomedevice:200", "status": { "id": 200, "rssi": -92, "battery": 100, "packet_id": 110, "last_updated_ts": 1749204408, "paired": false, "rpc": false, "rsv": -1 }, "config": { "id": 200, "addr": "b0:c7:de:77:40:61", "name": "Bewegungsmelder", "key": null, "meta": { "ui": { "view": "regular", "icon": null } } }, "attrs": { "flags": 0, "model_id": 5 } }, { "key": "bthomedevice:201", "status": { "id": 201, "rssi": -89, "battery": 100, "packet_id": 144, "last_updated_ts": 1749204760, "paired": true, "rpc": false, "rsv": -1 }, "config": { "id": 201, "addr": "7c:c6:b6:80:36:ac", "name": "Aussentemperatur", "key": null, "meta": { "ui": { "view": "regular", "icon": null } } }, "attrs": { "flags": 0, "model_id": 3 } }, { "key": "bthomedevice:202", "status": { "id": 202, "rssi": -41, "battery": 100, "packet_id": 114, "last_updated_ts": 1749204973, "paired": true, "rpc": false, "rsv": -1 }, "config": { "id": 202, "addr": "90:ab:96:3c:af:85", "name": "Handsender1", "key": null, "meta": { "ui": { "view": "regular", "icon": null } } }, "attrs": { "flags": 0, "model_id": 1 } }, { "key": "bthomesensor:200", "status": { "id": 200, "value": 100, "last_updated_ts": 1749204408 }, "config": { "id": 200, "addr": "b0:c7:de:77:40:61", "name": "Batterie", "obj_id": 1, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:201", "status": { "id": 201, "value": 2424, "last_updated_ts": 1749204408 }, "config": { "id": 201, "addr": "b0:c7:de:77:40:61", "name": "Helligkeit", "obj_id": 5, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:202", "status": { "id": 202, "value": false, "last_updated_ts": 1749204408 }, "config": { "id": 202, "addr": "b0:c7:de:77:40:61", "name": "Bewegung_erkannt", "obj_id": 33, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:203", "status": { "id": 203, "value": 100, "last_updated_ts": 1749204760 }, "config": { "id": 203, "addr": "7c:c6:b6:80:36:ac", "name": "Batterie", "obj_id": 1, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:204", "status": { "id": 204, "value": 59, "last_updated_ts": 1749204760 }, "config": { "id": 204, "addr": "7c:c6:b6:80:36:ac", "name": "Luftfeuchte", "obj_id": 46, "idx": 0, "meta": { "ui": { "icon": null } } } } ], "cfg_rev": 49, "offset": 0, "total": 18 }
-
Zitat
http://<shelly-ip>/rpc/Shelly.GetComponents
Damit komme ich schon weiter.
Hier ist zu sehen, welche Komponenten angehängt sind und welche Sensoren zu welchen Komponenten gehören.
Vielen Dank! Das hilft mir schon ein ganzes Stück weiter.
Für alle die es interessiert hier die Ausgabe: (Bezogen auf das obere Bild)Code
Alles anzeigenroot@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/shelly.getComponents | jq { "components": [ { "key": "ble", "status": {}, "config": { "enable": true, "rpc": { "enable": true } } }, { "key": "bthome", "status": {}, "config": {} }, { "key": "bthomedevice:200", "status": { "id": 200, "rssi": -91, "battery": 100, "packet_id": 82, "last_updated_ts": 1749114607, "paired": false, "rpc": false, "rsv": -1 }, "config": { "id": 200, "addr": "b0:c7:de:77:40:61", "name": "Bewegungsmelder", "key": null, "meta": { "ui": { "view": "regular", "icon": null } } }, "attrs": { "flags": 0, "model_id": 5 } }, { "key": "bthomedevice:201", "status": { "id": 201, "rssi": -39, "battery": 100, "packet_id": 190, "last_updated_ts": 1749115359, "paired": true, "rpc": false, "rsv": -1 }, "config": { "id": 201, "addr": "7c:c6:b6:80:36:ac", "name": null, "key": null, "meta": { "ui": { "view": "regular" } } }, "attrs": { "flags": 0, "model_id": 3 } }, { "key": "bthomesensor:200", "status": { "id": 200, "value": 100, "last_updated_ts": 1749114607 }, "config": { "id": 200, "addr": "b0:c7:de:77:40:61", "name": null, "obj_id": 1, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:201", "status": { "id": 201, "value": 960, "last_updated_ts": 1749114607 }, "config": { "id": 201, "addr": "b0:c7:de:77:40:61", "name": null, "obj_id": 5, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:202", "status": { "id": 202, "value": false, "last_updated_ts": 1749114607 }, "config": { "id": 202, "addr": "b0:c7:de:77:40:61", "name": null, "obj_id": 33, "idx": 0, "meta": { "ui": { "icon": null } } } }, { "key": "bthomesensor:203", "status": { "id": 203, "value": 100, "last_updated_ts": 1749115359 }, "config": { "id": 203, "addr": "7c:c6:b6:80:36:ac", "name": null, "obj_id": 1, "idx": 0, "meta": null } }, { "key": "bthomesensor:204", "status": { "id": 204, "value": 56, "last_updated_ts": 1749115360 }, "config": { "id": 204, "addr": "7c:c6:b6:80:36:ac", "name": null, "obj_id": 46, "idx": 0, "meta": null } }, { "key": "bthomesensor:205", "status": { "id": 205, "value": 23.5, "last_updated_ts": 1749115360 }, "config": { "id": 205, "addr": "7c:c6:b6:80:36:ac", "name": null, "obj_id": 69, "idx": 0, "meta": null } }, { "key": "cloud", "status": { "connected": false }, "config": { "enable": false, "server": "iot.shelly.cloud:6012/jrpc" } }, { "key": "mqtt", "status": { "connected": false }, "config": { "enable": false, "server": null, "client_id": "shellypmminig3-5432046a550c", "user": null, "ssl_ca": null, "topic_prefix": "shellypmminig3-5432046a550c", "rpc_ntf": true, "status_ntf": false, "use_client_cert": false, "enable_rpc": true, "enable_control": true } } ], "cfg_rev": 37, "offset": 0, "total": 16 }
-
Also so einfach ist das nicht. Ich habe noch vergessen zu erwähnen, dass alles ohne Cloud funktionieren soll.
Ein PM1 mini Gen 3 gibt keine Luftfeuchte aus:
Coderoot@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/humidity.getStatus | jq { "code": 404, "message": "No handler for humidity.getStatus" }
Ich habe jedoch die Werte gefunden, nur sehe ich im Moment noch nicht die Logik dahinter.
Das sind die Werte von dem oberen Bild.
Code
Alles anzeigenroot@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/bthomesensor.getstatus?id=200 | jq { "id": 200, "value": 100, "last_updated_ts": 1749100160 } root@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/bthomesensor.getstatus?id=201 | jq { "id": 201, "value": 449, "last_updated_ts": 1749100160 } root@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/bthomesensor.getstatus?id=202 | jq { "id": 202, "value": false, "last_updated_ts": 1749100160 } root@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/bthomesensor.getstatus?id=203 | jq { "id": 203, "value": 100, "last_updated_ts": 1749107019 } root@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/bthomesensor.getstatus?id=204 | jq { "id": 204, "value": 57, "last_updated_ts": 1749107019 } root@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/bthomesensor.getstatus?id=205 | jq { "id": 205, "value": 23.7, "last_updated_ts": 1749107019 } root@rpisteuerung:/var/www/html # curl -s http://192.168.2.30/rpc/humidity.getStatus | jq
Als Programmierer würde ich mir vorstellen, dass ich zuerst eine Auflistung der Schelly BLU Geräte auslesen kann, die am PM1 mini Gen3 Hängen, dann welche Werte jedes einzelne Gerät liefert und dann die einzelnen Werte. Das wäre meine Logik. Ist das möglich? Kenn sich da jemand aus?
Warum haben die Werte die ID 200 bis 205? Wie ist der Zusammenhang zwischen der ID und dem Shelly BLU Gerät?
-
Hallo zusammen,
ich hoffe, ihr könnt mir weiterhelfen. Seit zwei Tagen habe ich einen Shelly 3EM Pro Smartmeter und einen 5 kW Venus E Speicher im Einsatz. Auf dem Dach ist eine PV-Anlage mit 5,9 kWp installiert, gekoppelt mit einem Fronius Symo 5.0-3-M Wechselrichter.Ich suche nach einer App oder Möglichkeit (ggf. über Skripte im Shelly), um ein übersichtliches Monitoring aufzubauen.
Wichtig für mich wäre, dass ich folgende Werte in einer Ansicht habe:
- PV-Produktion
- Netzbezug/-einspeisung
- Aktueller Verbrauch
- Batteriestatus (Lade-/Entladeleistung)
Hat jemand so etwas schon umgesetzt oder Tipps, wie ich das am Besten realisieren kann?
Vielen Dank im Voraus!
Schaue dir einmal die "Solaranzeige" an. Mit der kann man sehr viele Solargeräte einschließlich Shelly Geräte grafisch darstellen und steuern.
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Hallo,
warum kann man in dem Bereich "Schelly API" keine Beiträge schreiben? Wo gehören Beiträge hin, die sich speziell auf die Shelly API Gen2 und Gen3 beziehen?
-
Ich habe 2 Shelly BLU Geräte an einem Shelly PM mini Gen3 hängen. Wie kann man die Werte per API auslesen. Es geht nicht darum wie die API funktioniert, sondern nur darum, wo finde ich die Werte? Mit welchem API-Befehl komme ich an die aktuellen Werte?
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. -
Der Energiemonitor, ein Teil der "Solaranzeige" kann große Mengen von HomeMatic Geräten und Shelly Geräten auslesen und grafisch darstellen. Alle Werte werden in eine Influx Datenbank gespeichert und können so für alle möglichen Anwendungen genutzt werden. Die Solaranzeige arbeitet auf einem Raspberry Pi. Hier gibt es weitere Informationen.
-
Mit einem Shelly Plug S Gen3 oder Shelly PM mini Gen3 können die Ertragswerte leicht gemessen werden. Die Anzeige der Solaranzeige sieht dann so aus:
Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. Die aktuelle Leistung wird mit Minus angegeben, wenn der Micro-Wechselrichter Strom liefert. Der Graph ist blau, wenn Leistung verbraucht wird und grün, wenn Leistung erzeugt wird. Außerdem können mit einem Button die Zähler für Bezug und Einspeisung zurückgesetzt werden. Benötigt werden ein Raspberry Pi und der Shelly. Die Daten werden über Jahre in einer Influx Datenbank gespeichert. So hat man die Erzeugte Leistung der letzten 4 Wochen immer im Blick. Abgefragt werden kann die Anzeige mit jedem Browser im lokalen Netzwerk.
Hier ist dafür eine kompakte Installationsanleitung.
-
Auf GitHub bin ich nicht vertreten. Alles läuft über den Support Server solaranzeige.de
In diesem Dokument wird beschrieben, wie man an den Source Code kommt:
https://solaranzeige.de/phpBB3/download/Update.pdf
Es steht ganz am Ende in dem Dokument.
Um an alle Informationen der Solaranzeige zu kommen, muss man sich registrieren, so wie bei fast allen Foren.
-
Warum ich erst jetzt eine Uservorstellung geschrieben habe? Weil eure neue Software mich dazu aufgefordert hat. Unter meinen 21.000 Mitgliedern sind viele, die Shelly Geräte einsetzen. Ich implementiere in die Solaranzeige seit 2020 sehr viele diese Geräte, da alle meine geschriebenen Steuerungen auf Shelly Relais basieren. (Früher waren es mal Sonoff Relais) Auch deshalb habe ich mich hier einmal vorgestellt. Mehr mit der Idee einer Zusammenarbeit. Konnte je nicht wissen, dass das hier schlecht ankommt. Sorry. Vielleicht klappt es ja doch mit der Zusammenarbeit.
-
Nur der SunnyBoy mit LAN Anschluss und der SolarLOG Pro 380 werden unterstützt.
Alle Daten können per MQTT versendet werden.