Leistungsprognose für Wechselrichter

Begonnen von ch.eick, 18 Januar 2021, 08:35:46

Vorheriges Thema - Nächstes Thema

DS_Starter

ZitatDa @DS_Starter ja keine Zeit für "2 aus 3" hat ;)
Naja, ich baue schon an der nächsten V.  ;)

Verständlich war die mathematische Gewichtung schon. Allerdings kann man nirgends eine Stationsentfernung mitgeben da die Attr ctrlWeatherDevX eine Drop-Down Liste der im System definierten DWD Devices ist. Ein editierbares Feld ist wiederum nicht so gut weil fehleranfällig.
Vllt. hast du noch eine andere Idee?
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kask


DS_Starter

Ein bisschen Träumerei...
Gesetzt den Fall wir hätten eine korrekte Stationsliste. Dann könnte man die hinterlegen (zumindest für DE, A, Schweiz) und aus den gewählten Stationsnummern und den dazugehörigen Koordinaten die Enfernungen sowie Gewichtungen automatisch ermitteln.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kask

Neue Attribute.
ctrlWeatherDevDistanceX = min(max(1, setvalue), 100);
Und wenn nichts angegeben dann hat ctrlWeatherDevDistanceX = 1;
Somit kann man keine Fehler machen weil zwischen 1..100 km und wenn nichst angeben wird haben alle die gleiche Gewichtung.
Wenn nur einer das Attribute hat wird dieser zwangsläufig weniger gewichtet weil der Standard der Anderen 1 ist.

Den Entfernungs-Wert mit in das attr ctrlWeatherDevX zu packen wird schwierig. Ausser eventuell mit einem weiterem DropDown (1,3,5,7,10,15,20,25,30,40,50,60,70,85,100).

Wobei 100 ist schon Banane. Ich denke bei 50 sollte fast Ende sein.

1..50
1,3,5,7,10,15,20,25,30,35,40,45,50

Ich dachte halt an Entfernungswert weil man diesen recht gut mit google maps in erfahrung bringen kann.
Selbst was rein zuschreiben muß am Ende entweder auch wieder verrechnet werden oder es passieren Fehler weil die Teile am Ende auch wieder 1(oder 100% oder what ever) ergeben müssen.


kask

Ja, habe ich auch erst dran gedacht das mit Koordinaten zu machen. Aber ich lande mit den zur Verfügung stehenden Koordinaten ja ca 25-30km SW.

DS_Starter

Kurz anderes Thema. Ich hadere gerade mit meinen teilweise schon alten Readings/Befehlen. Zum Beispiel wird in der PV Welt i.A. Deklination für den Modul-Neigungswinkel verwendet, richtig?
Dann würde nämlich aus moduleTiltAngle -> moduleDeclination  ... wäre viel besser.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kask

#3591
Man sind wir doof! Wir alle, du auch, wenn du dir gedanken über folgendes gemacht hast! ;)

Die Liste von https://www.dwd.de/DE/leistungen/met_verfahren_mosmix/mosmix_stationskatalog.cfg ist total in Ordnung.

Das doofe ist nur das die werte keine Dezimalwerte sind sondern Minutenangaben hinter dem Punkt. Ein z.B. 51.31 ist 51°31' und nicht 51.31°.
Deshalb der SW Offset :o

Und damit kommt Post #3587 & #3589 an den Start 8)


moduleTiltAngle, moduleDeclination..was ist einleuchtender "Neigungswinkel" oder "Deklination"..Wer benutz deklination? intrikate etymologie. Mach wie du denkst. Hauptsache man weiß was gemeint ist.
Zumal man da ja eigentlich nur einmal dran muß. Hatte ich schon vergessen das das da ist ;)

DS_Starter

ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kask

AVG_EARTH_RADIUS = 6371.008  # in km

def haversine(point1, point2, miles=False):
    """ Calculate the great-circle distance bewteen two points on the Earth surface.

    :input: two 2-tuples, containing the latitude and longitude of each point
    in decimal degrees.

    Example: haversine((45.7597, 4.8422), (48.8567, 2.3508))

    :output: Returns the distance bewteen the two points.
    The default unit is kilometers. Miles can be returned
    if the ``miles`` parameter is set to True.

    """
    # unpack latitude/longitude
    lat1, lng1 = point1
    lat2, lng2 = point2

    # convert all latitudes/longitudes from decimal degrees to radians
    lat1, lng1, lat2, lng2 = map(radians, (lat1, lng1, lat2, lng2))

    # calculate haversine
    lat = lat2 - lat1
    lng = lng2 - lng1
    d = sin(lat * 0.5) ** 2 + cos(lat1) * cos(lat2) * sin(lng * 0.5) ** 2
    h = 2 * AVG_EARTH_RADIUS * asin(sqrt(d))
    if miles:
        return h * 0.621371  # in miles
    else:
        return h  # in kilometers

Habe dir schonmal (Python) Code rausgesucht von einem alten Projekt von mir für die Distanceberechnung zweier GPS coordinaten ;)

Is ja sicher nen Klacks für dich das in Perl zu portieren.

DS_Starter

Ja, danke. Im ersten Schritt werde ich wohl erstmal einen integrierten Download und ggf. Umwandlung der Stationsliste einbauen. Wird wohl ein Getter. Dann kann man sich die auch anzeigen/downloaden, what ever.
Dann sind die Daten im System und mit den Stationsnummern, Koordinaten und deinem Code kann es dann etwas werden.  ;)
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kask

Mal ne doofe Frage/Idee.
Wäre es nicht vieleicht besser das DWD-gemüse in ein gesondertes Modul zu packen.
Ich denke das könnten eigentlich andere auch benötigen für andere Zwecke.
So das am Ende eine art Dummy/virtuelle DWD-Station daraus wird in Fhem.
Macht sicher auch die Pflege des Modules oder der Module einfacher.

DS_Starter

#3596
Naja, SolarForecast bietet Schnittstelle(n) über die man sich alle möglichen Daten in eigenen Code oder eigene Module integrieren kann. Die sind nur noch nicht im Wiki beschriebn, komme einfach nicht dazu.
Ähnlich wäre es dann mit den DWD Stationen.
Aber das ist sicherlich Ansichtssache. Wenn sich jemand daran versuchen möchte ein extra Modul zu erstellen kann das sicher ein schöne Sache werden, vllt. sogar mit integrierter Karte. ;)
Wäre aber nicht mein Fokus, meine Ressourcen sind schon aufgebraucht.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

kask

Vieleicht hat ja @jensb darauf Lust ist ja nicht uninteresant ;)

DS_Starter

#3598
Kannst ihm ja mal eine PM schicken mit Verweis auf diesen Thread.
Hier liest ja nicht jeder mit.  ;)

PS: Eigentlich wäre es an der Zeit einen neuen Thread zum Modul SolarForecast aufzumachen. Es hat sich über die Zeit ein Eigenleben entwickelt.
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

DS_Starter

So, für heute ist erstmal Finish. Wünsche eine gute Nacht!
ESXi@NUC+Debian+MariaDB, PV: SMA, Victron MPII+Pylontech+CerboGX
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard, PylonLowVoltage
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter