Alles klar, Danke!!
Ankündigung
Einklappen
Keine Ankündigung bisher.
Neues Plugin: SolarLog
Einklappen
X
-
Zitat von Robert Beitrag anzeigenfür SMA-Wechselrichter gäbe es da ein Plugin... ;-)
Kommentar
-
Zitat von climber6 Beitrag anzeigenDa wäre ich sehr daran Interessiert.. Wo finde ich das?Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Ich kriege es einfach nicht hin...Es gibt ja mittlerweile zwei Threads, die sich mit dem Solarlog befassen. Einmal dieser hier, wo es um ein Plugin geht, bei dem ich dann später über die items Daten auf den html-Seiten abrufen kann (--> smarthome).
Dann gibt es aber auch noch den Teil mit javascript, der insbesondere für die smartvisu gedacht ist.
Meine Frage: Wie ist der Ablauf bei der js-Version? Mein Logger loggt und wie es scheintMich hat es schon immer gestört, dass ich zur Abfrage meiner PV-Anlage auf die SolarLog Seite muss
Welche Angaben/Dateien aus dem Quad-Design muss ich ändern (besonders, wenn ich ein anderes Design nutze)?
Seitenanalyse gibt mir folgende Rückmeldungen für js:
HTML-Code:Die Verbindung zu ws://smarthome.local:2424/ wurde unterbrochen, während die Seite geladen wurde. io_smarthome.py.min.js:2 getUserData() und setUserData() sollten nicht mehr verwendet werden. Verwenden Sie stattdessen WeakMap oder element.dataset. requestNotifier.js:64 SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery-2.0.3.min.js:1 Error: http://192.168.178.37/smartvisu/vendor/jquery/jquery-2.0.3.min.js is being assigned a //# sourceMappingURL, but already has one SyntaxError: Using //@ to indicate sourceMappingURL pragmas is deprecated. Use //# instead jquery.mobile-1.3.2.min.js:7 Error: http://192.168.178.37/smartvisu/vendor/jquery.mobile/jquery.mobile-1.3.2.min.js is being assigned a //# sourceMappingURL, but already has one getPreventDefault() sollte nicht mehr verwendet werden. Verwenden Sie stattdessen defaultPrevented. jquery-2.0.3.min.js:5 Leerer String an getElementById() übergeben. jquery.mobile-1.3.2.min.js:6
Karsten
Kommentar
-
Hier geht es um das Plugin, nicht um den JS Code. Bitte im entsprechenden Post fragen.Mit freundlichen Grüßen
Niko Will
Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
- Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -
Kommentar
-
Zitat von mode Beitrag anzeigenHey,
ich habe einen Steca Wechselrichter da dieser mit >98% den besten Wirkungsgrad hat, es 7 Jahre Garantie gibt und er sehr günstig ist.
Das RS485 Protokoll gibts vom Hersteller wenn man einen NDA unterschreibt.
...
VG
Mode
Mir fehlt es leider an Wissen, wie man diese Webseiten automatisch auslesen kann und die entsprechenden Werte nach openHAB bekommt.
Gibt es da Einsteigerlektüre oder mag mir jemand helfen dabei?
Kommentar
-
Zitat von steve7 Beitrag anzeigenInzwischen hat Steca einen Webserver laufen, über den man auch per Ethernet an die Daten rankommt. Auf jeden Fall würde ich Ethernet gegenüber RS485 bevorzugen, weil die Infrastruktur (Kabel zum OpenHAB Server) schon liegt.
Welche Steca WR hast Du?
Liegt nun Ethernet oder RS485 an den WR's?
Ich habe bei mir 3 StecaWR mit StecaGrid via Ethernet angebunden und erste Gehversuche mit einem Plugin zum Auslesen der aktuellen Erzeugungsdaten hinter mir. Das klappt und ist keine Raketentechnik, allerdings mangelt es wie immer an der Zeit dort weiterzumachen.
Cheers,
Oliver
Kommentar
-
Hab einen Steca 3000. Die Software von Steca zum "download/monitoring" läuft leider nur mit RS485, wofür ich keine Infrastruktur hab. Inzwischen gibt es aber ein Update, mit dem aktuelle Daten per Browser ausgelesen werden können.
(Ethernet für aktuelle Daten, RS485 zum Speichern)
Also perspektivisch mag ich nur noch Ethernet dran haben. Derzeit nehme ich den RS485 Adapter alle 2 Wochen und lade mir die Daten runter.
Ich glaub ich bin auf der Suche nach Steca tatsächlich in den falschen Bereich gerutscht.
Angefangen hat es bei mir, als ich eine mehr oder weniger laufende openHAB für meine Wärmepumpe ans Laufen gebracht hab. Das würde ich gern noch um den WR erweitern und in der nächsten Stufe die beiden interagieren lassen, ggf noch mit fernsteuerbaren Steckdosen weiter Verbraucher zuschalten.
Ok, soweit zum Hintergrund. Smarthome.py kenne ich noch nicht. Hat das eine ähnliche Zielsetzung (Monitoring und Interaktion?)
Kommentar
-
Zitat von steve7 Beitrag anzeigenOk, soweit zum Hintergrund. Smarthome.py kenne ich noch nicht. Hat das eine ähnliche Zielsetzung (Monitoring und Interaktion?)
Hinsichtlich Zielsetzung sind IMHO SH.py und OpenHAB in die gleiche Richtung unterwegs, kenne mich aber wiederum in OpenHAB zu wenig aus um sagen zu können wie einfach sich bspw. Deine WP Anbindung auf die WR's adaptieren lassen.
Weiter kenne ich auch die 3000'er nicht, aber bei meinen GridConnects sind das eigentlich relativ simple HTML-Parsings, welche dann eben ausgelesen und ausgewertet werden müssen.
Um den Inhalt besser einschätzen zu können kann ich Dir daher eigentlich nur mal empfehlen mit CURL auf die WR's loszugehen. Hierüber bekommst Du dann erst einmal relativ simpel die HTML-Rückmeldung des WR's. Ws. gibt es bei OpenHAB auch irgendwelche Module, mit welchen man relativ einfach die Werte dann modellieren kann.
Cheers,
Oliver
Kommentar
-
Hallo,
funktioniert bei mir mit Solarlog 200, Firmware 3.6x
Code:#!/usr/bin/env python3 # ######################################################################### # Copyright 2017 klab # Version 1.3.1 ######################################################################### # Free for non-commercial use # # Plugin for the software SmartHome.py (NG), which allows to read # devices such as the Solarlog with Firmware 3.xx # # SmartHomeNG is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # SmartHome.py is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with SmartHome.py (NG). If not, see <http://www.gnu.org/licenses/>. # ######################################################################### import logging from datetime import datetime, timedelta import json import http.client from lib.model.smartplugin import SmartPlugin class SolarlogFw3(SmartPlugin): ALLOW_MULTIINSTANCE = False PLUGIN_VERSION = '1.3.1' def __init__(self, sh, host, cycle): self.logger = logging.getLogger(__name__) self.logger.debug("SolarlogFw3 starting") self._sh = sh self._host = host self._cycle = int(cycle) self._items = {} def run(self): self.alive = True self._sh.scheduler.add('SolarlogFw3', self.update_status, cycle=self._cycle) def stop(self): self.alive = False def parse_item(self, item): if 'solarfw3' in item.conf: solarfw3_key = item.conf['solarfw3'] self._items[solarfw3_key]=item return self.update_item else: return None def parse_logic(self, logic): pass def update_item(self, item, caller=None, source=None, dest=None): if caller != 'plugin': self.logger.info("update item: {0}".format(item.id())) def update_status(self): for parameter in self._items: params = '{"801":{"170":null}}' paramsbytes = params.encode('utf-8') headers = {"Content-Type": "application/json", "Accept": "text/plain"} conn = http.client.HTTPConnection(self._host) conn.request("POST", "/getjp", params, headers) response = conn.getresponse() data=response.read() jsondata = json.loads(data.decode('utf-8')) value = jsondata['801']['170'][str(parameter)] if parameter in self._items: item = self._items[parameter] item (value, 'solarfw3') return
plugin.yaml
Code:SolarlogFw3: class_name: SolarlogFw3 class_path: plugins.solarlog_fw3 host: 192.168.x.x cycle: 120
items.yaml
Code:solarlog_v3: w_gesamt_zaehler: type: num cache: 'on' solarfw3: 101 w_gesamt: type: num cache: 'on' solarfw3: 102 spannung_ac: type: num cache: 'on' solarfw3: 103 spannung_dc1: type: num cache: 'on' solarfw3: 104 wh_heute: type: num solarfw3: 105 cache: 'on' wh_gestern: type: num cache: 'on' solarfw3: 106 wh_monat: type: num cache: 'on' solarfw3: 107 wh_jahr: type: num cache: 'on' solarfw3: 108 wh_gesamt: type: num cache: 'on' solarfw3: 109 wp_generatorleistung: type: num cache: 'on' solarfw3: 116
Gruß
klabZuletzt geändert von klab; 27.04.2019, 18:18.
Kommentar
Kommentar