Ankündigung

Einklappen
Keine Ankündigung bisher.

Neues Plugin: SolarLog

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    Alles klar, Danke!!

    Kommentar


      #17
      Zitat von Robert Beitrag anzeigen
      für SMA-Wechselrichter gäbe es da ein Plugin... ;-)
      Da wäre ich sehr daran Interessiert.. Wo finde ich das?

      Kommentar


        #18
        Zitat von climber6 Beitrag anzeigen
        Da wäre ich sehr daran Interessiert.. Wo finde ich das?
        SuFu kaputt? Bei mir geht sie und findet das: https://knx-user-forum.de/smarthome-...-getestet.html
        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


          #19
          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 scheint
          Mich hat es schon immer gestört, dass ich zur Abfrage meiner PV-Anlage auf die SolarLog Seite muss
          , liest das Script die Daten des Solarlog direkt aus (Wie?)
          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
          Gruß
          Karsten

          Kommentar


            #20
            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


              #21
              Zitat von mode Beitrag anzeigen
              Hey,
              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
              Inzwischen 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.
              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


                #22
                Zitat von steve7 Beitrag anzeigen
                Inzwischen 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.
                Ähmm, redest Du nun von OpenHAB oder von smarthome.py?
                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


                  #23
                  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


                    #24
                    Zitat von steve7 Beitrag anzeigen
                    Ok, soweit zum Hintergrund. Smarthome.py kenne ich noch nicht. Hat das eine ähnliche Zielsetzung (Monitoring und Interaktion?)
                    OK, danke für die Infos.
                    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


                      #25
                      Hat damit schon jemand einen Fronius symo miteingebunden bzw. liest ihn aus?

                      Kommentar


                        #26
                        Gib es schon ein Update für die aktuellen Solarlog Firmwares? Die Daten können mittlerweile im JSON Format abgefragt werden.

                        Kommentar


                          #27
                          eventuell könntest du das auch so lösen ?
                          https://www.smarthomeng.de/verarbeit...sages-in-items

                          Kommentar


                            #28
                            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ß
                            klab
                            Zuletzt geändert von klab; 27.04.2019, 18:18.

                            Kommentar

                            Lädt...
                            X