{"id":287,"date":"2016-06-07T21:41:46","date_gmt":"2016-06-07T21:41:46","guid":{"rendered":"http:\/\/transistorgrab.de\/?p=287"},"modified":"2016-08-06T10:20:20","modified_gmt":"2016-08-06T10:20:20","slug":"sma-sunny-boy-wechselrichter-ueber-modbus-beobachten","status":"publish","type":"post","link":"https:\/\/transistorgrab.de\/zh\/2016\/06\/07\/sma-sunny-boy-wechselrichter-ueber-modbus-beobachten\/","title":{"rendered":"SMA Sunny Boy Wechselrichter \u00fcber Modbus beobachten"},"content":{"rendered":"<p>In unserer Photovoltaik-Anlage ist ein Wechselrichter von SMA verbaut, der das Modbus-Protokoll zur Abfrage von Anlagenparametern zur Verf\u00fcgung stellt.<\/p>\n<p>SMA stellt f\u00fcr dieses Ger\u00e4t (und andere Ger\u00e4te mit Modbus) Tabellen zur Verf\u00fcgung, wo man ablesen kann, an welcher Adresse welche Information zur Verf\u00fcgung steht.<\/p>\n<p>F\u00fcr Python gibt es die Modbusbibliothek &#8216;pymodbus&#8217;.<\/p>\n<p>Mit etwas T\u00fcftelei habe ich eine Python Applikation erstellt, die entweder \u00fcber ein grafisches Interface bedient werden kann, oder auch von der Befehlszeile (ohne grafische Oberfl\u00e4che) gestartet werden kann.<!--more--><\/p>\n<p>Die Applikation kann dann in der grafischen Oberfl\u00e4che mehrere Momentanwerte darstellen oder auf der Befehlszeile immer einen Wert direkt abrufen.<\/p>\n<p>Au\u00dferdem kann man eine Log-Datei angeben, in die man dann in einstellbaren Intervallen die Werte abrufen und in ebenfalls einstellbarem Intervall regelm\u00e4\u00dfig auf einen Datentr\u00e4ger abspeichern kann.<\/p>\n<p>F\u00fcr Langzeit\u00fcberwachung habe ich dann noch einen Raspberry-Pi 3 unter Raspbian ins Netzwerk eingebunden, wo die Applikation dann regelm\u00e4\u00dfig dauerhaft die Daten vom Wechselrichter einsammelt. Der Raspberry h\u00e4ngt lediglich an einem 5 V Netzteil, und wird nur \u00fcbers WLAN administriert.<\/p>\n<p>Unter Raspbian brauchte ich dann noch ein paar Vorarbeiten:<\/p>\n<ul>\n<li>die WLAN-Verbindung als Standardverbindung einstellen und automatisch verbinden lassen.<\/li>\n<li>das Paket python-dev installieren (aptitude install python-dev)<\/li>\n<li>das Python-Paket pymodbus installieren (sudo pip install pymodbus)<\/li>\n<li>das Python-Paket docopt installieren (sudo pip install docopt)<\/li>\n<\/ul>\n<p>Danach l\u00e4sst sich das Skript ganz einfach mit &#8220;python pymodmon.py -i Configfile.ini&#8221; starten.<\/p>\n<p>Die Konfigurationsdatei l\u00e4sst sich ganz einfach erzeugen indem man zuerst mit &#8220;python pymodmon.py&#8221; im grafischem Modus startet und die gew\u00fcnschten Adressen erg\u00e4nzt. Diese kann man dann auch gleich testen, ob sie abgefragt werden k\u00f6nnen. Wenn alle Einstellungen wie gew\u00fcnscht erstellt sind, kann man die Konfigurationsdatei speichern und dann im Kommandozeilenmodus direkt nutzen.<\/p>\n<p>In der Konfigurationsdatei kann man auch die gew\u00fcnschte Log-Datei angeben. Wenn diese noch nicht existiert, wird sie erstellt. Wenn sie schon existiert, werden einfach die neuen Daten an der Datei angef\u00fcgt.<\/p>\n<p>Zu finden ist das Python-Skript unter github.com: <a href=\"https:\/\/github.com\/transistorgrab\/PyModMon\">https:\/\/github.com\/transistorgrab\/PyModMon<\/a><\/p>\n<p>Die Programmoberfl\u00e4che ist komplett auf englisch gehalten, sollte aber trotzdem auch mit wenig Englischkenntnissen bedienbar sein.<\/p>\n<p><a href=\"https:\/\/i0.wp.com\/transistorgrab.de\/wp-content\/uploads\/2016\/06\/pymodmon_screenshot.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"296\" data-permalink=\"https:\/\/transistorgrab.de\/zh\/2016\/06\/07\/sma-sunny-boy-wechselrichter-ueber-modbus-beobachten\/pymodmon_screenshot\/\" data-orig-file=\"https:\/\/i0.wp.com\/transistorgrab.de\/wp-content\/uploads\/2016\/06\/pymodmon_screenshot.png?fit=557%2C813&amp;ssl=1\" data-orig-size=\"557,813\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"pymodmon_screenshot\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/transistorgrab.de\/wp-content\/uploads\/2016\/06\/pymodmon_screenshot.png?fit=474%2C692&amp;ssl=1\" class=\"aligncenter size-medium wp-image-296\" src=\"https:\/\/i0.wp.com\/transistorgrab.de\/wp-content\/uploads\/2016\/06\/pymodmon_screenshot-206x300.png?resize=206%2C300\" alt=\"pymodmon_screenshot\" width=\"206\" height=\"300\" align=\"middle\" srcset=\"https:\/\/i0.wp.com\/transistorgrab.de\/wp-content\/uploads\/2016\/06\/pymodmon_screenshot.png?resize=206%2C300&amp;ssl=1 206w, https:\/\/i0.wp.com\/transistorgrab.de\/wp-content\/uploads\/2016\/06\/pymodmon_screenshot.png?w=557&amp;ssl=1 557w\" sizes=\"auto, (max-width: 206px) 100vw, 206px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>In unserer Photovoltaik-Anlage ist ein Wechselrichter von SMA verbaut, der das Modbus-Protokoll zur Abfrage von Anlagenparametern zur Verf\u00fcgung stellt. SMA stellt f\u00fcr dieses Ger\u00e4t (und andere Ger\u00e4te mit Modbus) Tabellen zur Verf\u00fcgung, wo man ablesen kann, an welcher Adresse welche Information zur Verf\u00fcgung steht. F\u00fcr Python gibt es die Modbusbibliothek &#8216;pymodbus&#8217;. Mit etwas T\u00fcftelei habe &hellip; <a href=\"https:\/\/transistorgrab.de\/zh\/2016\/06\/07\/sma-sunny-boy-wechselrichter-ueber-modbus-beobachten\/\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">SMA Sunny Boy Wechselrichter \u00fcber Modbus beobachten<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[76],"tags":[81,78,77,79,80],"class_list":["post-287","post","type-post","status-publish","format-standard","hentry","category-programming","tag-inverter","tag-modbus","tag-python","tag-sma","tag-wechselrichter"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p8KIDw-4D","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/posts\/287","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/comments?post=287"}],"version-history":[{"count":0,"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/posts\/287\/revisions"}],"wp:attachment":[{"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/media?parent=287"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/categories?post=287"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/transistorgrab.de\/zh\/wp-json\/wp\/v2\/tags?post=287"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}