Wenn dies dein erster Besuch hier ist, lies bitte zuerst die Hilfe - Häufig gestellte Fragen durch. Du musst dich vermutlich registrieren, bevor du Beiträge verfassen kannst. Klicke oben auf 'Registrieren', um den Registrierungsprozess zu starten. Du kannst auch jetzt schon Beiträge lesen. Suche dir einfach das Forum aus, das dich am meisten interessiert.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: SMAModbus (zu Auslesen eines SMA-Wechselrichters über speedwire/modbus)
Hallo merkelnando,
das Plugin liest auch Werte aus Batterie-Wechselrichter. Diese sind auch außerhalb der Einspeisezeit wichtig.
Versuche doch das uzsu-Plugin für Deine Zwecke zu Nutzen.
Den Thread kram ich doch glatt mal wieder aus.
In der offiziellen Plugin-Liste von SHNG gibt es kein SMA Modbus Plugin. Ist das hier noch aktuell? Sprich, funktioniert es noch unter 1.8.1?
Könntest du den Ordner mit dem Plugin und allen nötigen Dateien, so wie das bei dir unter 1.8.1 läuft, zusammen mit dem Ausschnitt aus der plugin.yaml und den items in ein zip File packen und hier reinstellen?
Ich bastel da jetzt Stunden rum und es klappt nicht. Bekomme schon beim Neustart von SHNG Fehler im Log.
ich habe Plugin, items etc. 1:1 aus 1.7.2 kopiert.
Wie ich auch jetzt erst erkannt habe weicht der Eintrag in der plugin.yaml zumindest schon mal von den Einträgen der anderen Plugins ab (ich kann auch in der Admin-GUI die Parameter nicht sehen):
Die __init__.py im Plugin-Verzeichnis entspricht dem Inhalt von Beitrag #1. Ich habe zusätzlich noch in dem Verzeichnis eine plugin.yaml:
Code:
# Metadata for the Smart-Plugin
plugin:
# Global plugin attributes
type: interface # plugin type (gateway, interface, protocol, system, web)
description:
de: ''
en: ''
maintainer: '? '
tester:
# keywords: iot xyz
documentation: # url of documentation (wiki) page
support:
version: 1.3.0 # Plugin version
sh_minversion: 1.3 # minimum shNG version to use this plugin
# sh_maxversion: # maximum shNG version to use this plugin (leave empty if latest)
multi_instance: True # plugin supports multi instance
classname: SMAModbus # class containing the plugin
parameters:
Ein Beispiel-Item:
Code:
ac_leistung:
type: num
visu_acl: ro
cache: 'yes'
register@tp10: 30775
Also bei mir läuft es so, auch wenn es vermutlich nicht den aktuellen Anforderungen an Plugins unter 1.8 entspricht.
Daher habe ich auch noch Warnings im Log:
Code:
2021-02-13 08:47:40 WARNING lib.metadata Item 'pv.status', attribute 'register': Attribute is undefined and has value '30201' (defined in pv.yaml)
Dass eine plugin.yaml im Plugin Ordner fehlt wusste ich. Jetzt ist zumindest schon mal der ERROR aus dem Log weg.
Ein WARNING wie du habe ich auch. Ist nur die Frage, ob es daran liegt, dass das Attribut "register" ansich nicht bekannt ist (dann dürfte aber wohl bei dir gar nichts gehen), oder ob es daran liegt, dass die Registernummer 30201im Wechselrichter nicht existiert. Ich müsste also erst mal ein Register finden, dass definitiv im WR existiert.
Der Log-Eintrag war nur ein Beispiel, für jedes in einem Item angegebenes Register kommt ein eigener Eintrag.
Die Items werden aber alle mit Daten aus dem Plugin versorgt.
Wenn du die Warnings loswerden willst, ergänzt du in der plugin.yaml z.B. sowas hier:
Code:
item_attributes:
# Definition of item attributes defined by this plugin (enter 'item_attributes: NONE', if section should be empty)
register:
type: int
description:
de: 'Register'
en: 'register'
Das habe ich mir aber ausdrücklich nur selbst aus anderen Plugins abgeleitet, ich habe keine Programmierkenntnisse.
Das Plugin sollte auf Dauer wohl mal ein Experte auf Stand bringen.
Aber da es im Prinzip so funktioniert, reicht mir das erst mal.
Dann hab ich ein größeres Problem. Denn egal welche Registernummer ich verwende, es kommt nichts. Aber keine weiteren Fehler zu sehen. Im WR ist Modbus definitiv aktiv.
Ich lese hier schon länger mit, hab aber auch nicht so wirklich ne Ahnung vom programmieren.
Ich bastel schon ne ganze Weile an dem Plugin rum und hab es geschaft das Plugin zum laufen zu bekommen, ohne Fehlermedungen, in der aktuellsten Version von SmarthomeNG 1.8.2.
Ich hänge meinen Plugin Ordner komplett an (mit 7zip gepackt, entpacken und den Ordner komplett in die plugins rein kopieren)
Sehr wichtige, bitte die Readme Datei lesen, es muss unbedingt pymodbus 1.3.1 installiert sein
Falls es Bestätigungen gibt, dass das Plugin inhaltlich funktioniert, würde ich es leicht überarbeiten und in das Repo aufnehmen.
Dazu müsste mir noch jemand beschreiben, was das Item Attribut 'register' genau ist/tut. In den Metadaten (der plugin.yaml) steht als Erklärung nur 'Register'. Das ist nicht wirklich erhellend.
Ich würde folgendes ergänzen/anpassen:
Da der Name des Plugins recht lang ist, würde ich ihn auf smamb einkürzen wollen
Requirements zur automatischen Installation von pymodbus
Das Attribut 'register' umbenennen. So generische Namen können Kollisionen mit anderen Plugins hervorrufen, weshalb Attributnamen normale der Plugin Name (oder ein Kürzel) vorangestellt ist. (Also z.B. smamb_register)
Den Parameter 'instance' entfernen. Das ist kein spezifischer Plugin Parameter, sondern steht in der Admin GUI allen
MULTI_INSTANCE fähigen Plugins zur Verfügung.
Nachtrag: Eine Beschreibung, was das Plugin eigentlich tut wäre auch noch erhellend. Sonst steht in der Doku auf www.smarthomeng.de/user später nur "Das Plugin tut irgendwas".
Zuletzt geändert von Msinn; 10.04.2021, 13:24.
Grund: Nachtrag ergänzt
Viele Grüße
Martin
There is no cloud. It's only someone else's computer.
Wir verarbeiten personenbezogene Daten über die Nutzer unserer Website mithilfe von Cookies und anderen Technologien, um unsere Dienste bereitzustellen. Weitere Informationen findest Du in unserer Datenschutzerklärung.
Indem Du unten auf "ICH stimme zu" klickst, stimmst Du unserer Datenschutzerklärung und unseren persönlichen Datenverarbeitungs- und Cookie-Praktiken zu, wie darin beschrieben. Du erkennst außerdem an, dass dieses Forum möglicherweise außerhalb Deines Landes gehostet wird und bist damit einverstanden, dass Deine Daten in dem Land, in dem dieses Forum gehostet wird, gesammelt, gespeichert und verarbeitet werden.
Kommentar