Neueste Beiträge

#1
Solaranlagen / 70_ENPHASE - state "Daten zu a...
Letzter Beitrag von peterboeckmann - 19 Mai 2025, 07:48:06
Hallo zusammen,

seit letzter Nacht bekomme ich keine Daten mehr aus dem ENPHASE ausgelesen.
Im Log erscheint immer wieder folgendes:
2025.05.19 00:20:16 1: readingsUpdate(Enphase,state,Timeout, will try again) missed to call readingsBeginUpdate first.
2025.05.19 00:20:16 1: stacktrace:
2025.05.19 00:20:16 1:     main::readingsBulkUpdate            called by ./FHEM/70_ENPHASE.pm (1302)
2025.05.19 00:20:16 1:     main::checkHttpResponse             called by ./FHEM/70_ENPHASE.pm (463)
2025.05.19 00:20:16 1:     main::ENPHASE_getLiveDaten          called by FHEM/HttpUtils.pm (112)
2025.05.19 00:20:16 1:     main::HttpUtils_TimeoutErr          called by fhem.pl (3511)
2025.05.19 00:20:16 1:     main::HandleTimeout                 called by fhem.pl (710)
2025.05.19 00:22:01 1: readingsUpdate(Enphase,state,Timeout, will try again) missed to call readingsBeginUpdate first.
2025.05.19 00:22:01 1: stacktrace:
2025.05.19 00:22:01 1:     main::readingsBulkUpdate            called by ./FHEM/70_ENPHASE.pm (1302)
2025.05.19 00:22:01 1:     main::checkHttpResponse             called by ./FHEM/70_ENPHASE.pm (463)
2025.05.19 00:22:01 1:     main::ENPHASE_getLiveDaten          called by FHEM/HttpUtils.pm (112)
2025.05.19 00:22:01 1:     main::HttpUtils_TimeoutErr          called by fhem.pl (3511)
2025.05.19 00:22:01 1:     main::HandleTimeout                 called by fhem.pl (710)

Mit verbose=5 steht folgendes im Log:
2025.05.19 07:46:45 4: Enphase (Enphase): ==> start livedaten
2025.05.19 07:46:46 5: Enphase (Enphase): ==> header: HTTP/1.1 200 OK
Server: openresty/1.17.8.1
Date: Mon, 19 May 2025 05:46:25 GMT
Content-Type: application/json
Connection: close
Pragma: no-cache
Expires: 1
Cache-Control: no-cache
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
2025.05.19 07:46:46 5: {"production":[{"type":"inverters","activeCount":0,"readingTime":1747631430,"wNow":0,"whLifetime":0},{"type":"eim","activeCount":1,"measurementType":"production","readingTime":1747633585,"wNow":739.679,"whLifetime":12503184.306,"varhLeadLifetime":753007.029,"varhLagLifetime":967967.635,"vahLifetime":14369472.331,"rmsCurrent":3.535,"rmsVoltage":700.351,"reactPwr":-27.238,"apprntPwr":826.755,"pwrFactor":0.91,"whToday":436.306,"whLastSevenDays":360502.306,"vahToday":524.331,"varhLeadToday":38.029,"varhLagToday":1.635}],"consumption":[{"type":"eim","activeCount":1,"measurementType":"total-consumption","readingTime":1747633585,"wNow":774.671,"whLifetime":11577002.652,"varhLeadLifetime":6918124.431,"varhLagLifetime":-603080.368,"vahLifetime":19931516.545,"rmsCurrent":4.144,"rmsVoltage":700.033,"reactPwr":-419.412,"apprntPwr":963.995,"pwrFactor":0.81,"whToday":483.652,"whLastSevenDays":94509.652,"vahToday":749.545,"varhLeadToday":365.431,"varhLagToday":122.0},{"type":"eim","activeCount":1,"measurementType":"net-consumption","readingTime":1747633585,"wNow":34.992,"whLifetime":-738831.299,"varhLeadLifetime":7671131.46,"varhLagLifetime":364887.266,"vahLifetime":19931516.545,"rmsCurrent":0.609,"rmsVoltage":700.033,"reactPwr":-392.174,"apprntPwr":138.991,"pwrFactor":0.11,"whToday":0,"whLastSevenDays":0,"vahToday":0,"varhLeadToday":0,"varhLagToday":0}],"storage":[{"type":"acb","activeCount":0,"readingTime":0,"wNow":0,"whNow":0,"state":"idle"}]}
2025.05.19 07:46:46 5: Enphase (Enphase): ==> Error:
2025.05.19 07:46:46 5: Enphase (Enphase): ==> ReturnCode: 200
2025.05.19 07:46:46 5: Enphase (Enphase): ==> Readingtime: 1747633585
2025.05.19 07:46:46 5: Enphase (Enphase): ==> Readingtime: 19
2025.05.19 07:46:46 5: Enphase (Enphase): ==> Readingtime: 19
2025.05.19 07:46:46 5: Enphase (Enphase): ==> Readingtime: Mon May 19 07:46:25 2025
2025.05.19 07:46:47 4: Enphase (Enphase): ==> start newlive
2025.05.19 07:46:47 5: Enphase (Enphase): ==> header: HTTP/1.1 200 OK
Server: openresty/1.17.8.1
Date: Mon, 19 May 2025 05:46:26 GMT
Content-Length: 3354
Connection: close
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
2025.05.19 07:46:47 5: {
    "connection": {
        "mqtt_state": "connected",
        "prov_state": "configured",
        "auth_state": "ok",
        "sc_stream": "enabled",
        "sc_debug": "disabled"
    },
    "meters": {
        "last_update": 1747633586,
        "soc": 13,
        "main_relay_state": 1,
        "gen_relay_state": 5,
        "backup_bat_mode": 1,
        "backup_soc": 0,
        "is_split_phase": 0,
        "phase_count": 3,
        "enc_agg_soc": 13,
        "enc_agg_energy": 910,
        "acb_agg_soc": 0,
        "acb_agg_energy": 0,
        "pv": {
            "agg_p_mw": 755129,
            "agg_s_mva": 843383,
            "agg_p_ph_a_mw": 256058,
            "agg_p_ph_b_mw": 246500,
            "agg_p_ph_c_mw": 252570,
            "agg_s_ph_a_mva": 289457,
            "agg_s_ph_b_mva": 268411,
            "agg_s_ph_c_mva": 285514
        },
        "storage": {
            "agg_p_mw": -158000,
            "agg_s_mva": -242546,
            "agg_p_ph_a_mw": -77000,
            "agg_p_ph_b_mw": -81000,
            "agg_p_ph_c_mw": 0,
            "agg_s_ph_a_mva": -109622,
            "agg_s_ph_b_mva": -101468,
            "agg_s_ph_c_mva": -31457
        },
        "grid": {
            "agg_p_mw": 32434,
            "agg_s_mva": 123591,
            "agg_p_ph_a_mw": -98342,
            "agg_p_ph_b_mw": 261791,
            "agg_p_ph_c_mw": -131017,
            "agg_s_ph_a_mva": -191220,
            "agg_s_ph_b_mva": 545399,
            "agg_s_ph_c_mva": -230589
        },
        "load": {
            "agg_p_mw": 629563,
            "agg_s_mva": 724428,
            "agg_p_ph_a_mw": 80716,
            "agg_p_ph_b_mw": 427291,
            "agg_p_ph_c_mw": 121553,
            "agg_s_ph_a_mva": -11385,
            "agg_s_ph_b_mva": 712342,
            "agg_s_ph_c_mva": 23468
        },
        "generator": {
            "agg_p_mw": 0,
            "agg_s_mva": 0,
            "agg_p_ph_a_mw": 0,
            "agg_p_ph_b_mw": 0,
            "agg_p_ph_c_mw": 0,
            "agg_s_ph_a_mva": 0,
            "agg_s_ph_b_mva": 0,
            "agg_s_ph_c_mva": 0
        }
    },
    "tasks": {
        "task_id": 124808711,
        "timestamp": 1747633420
    },
    "counters": {
        "main_CfgLoad": 1,
        "main_CfgChanged": 1,
        "main_taskUpdate": 7,
        "MqttClient_respond": 14,
        "MqttClient_msgarrvd": 7,
        "MqttClient_create": 1,
        "MqttClient_setCallbacks": 1,
        "MqttClient_connect": 1,
        "MqttClient_subscribe": 1,
        "SSL_Keys_Create": 1,
        "sc_SendStreamCtrl": 1,
        "sc_SendDemandRspCtrl": 1,
        "rest_Status": 365
    },
    "dry_contacts": {
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "\u0006",
            "dry_contact_status": 0
        },
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "",
            "dry_contact_status": 0
        },
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "",
            "dry_contact_status": 0
        },
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "",
            "dry_contact_status": 0
        }
    }
}
2025.05.19 07:46:47 5: Enphase (Enphase): ==> Error:
2025.05.19 07:46:47 5: Enphase (Enphase): ==> ReturnCode: 200
2025.05.19 07:46:47 5: Enphase (Enphase): ==> Daten zu alt
2025.05.19 07:46:47 5: Enphase (Enphase): ==> Readingtime: 1747633586
2025.05.19 07:46:47 5: Enphase (Enphase): ==> Readingtime: 1747633607.94919
2025.05.19 07:46:47 5: Enphase (Enphase): ==> Readingtime: 15
2025.05.19 07:46:50 4: Enphase (Enphase): ==> start livedaten
2025.05.19 07:46:50 5: Enphase (Enphase): ==> header: HTTP/1.1 200 OK
Server: openresty/1.17.8.1
Date: Mon, 19 May 2025 05:46:29 GMT
Content-Type: application/json
Connection: close
Pragma: no-cache
Expires: 1
Cache-Control: no-cache
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
2025.05.19 07:46:50 5: {"production":[{"type":"inverters","activeCount":0,"readingTime":1747631430,"wNow":0,"whLifetime":0},{"type":"eim","activeCount":1,"measurementType":"production","readingTime":1747633589,"wNow":742.281,"whLifetime":12503185.177,"varhLeadLifetime":753007.069,"varhLagLifetime":967967.636,"vahLifetime":14369473.305,"rmsCurrent":3.555,"rmsVoltage":700.599,"reactPwr":-29.419,"apprntPwr":831.45,"pwrFactor":0.89,"whToday":437.177,"whLastSevenDays":360503.177,"vahToday":525.305,"varhLeadToday":38.069,"varhLagToday":1.636}],"consumption":[{"type":"eim","activeCount":1,"measurementType":"total-consumption","readingTime":1747633589,"wNow":762.367,"whLifetime":11577003.547,"varhLeadLifetime":6918125.014,"varhLagLifetime":-603080.199,"vahLifetime":19931517.684,"rmsCurrent":4.121,"rmsVoltage":700.278,"reactPwr":-418.769,"apprntPwr":959.005,"pwrFactor":0.79,"whToday":484.547,"whLastSevenDays":94510.547,"vahToday":750.684,"varhLeadToday":366.014,"varhLagToday":122.0},{"type":"eim","activeCount":1,"measurementType":"net-consumption","readingTime":1747633589,"wNow":20.086,"whLifetime":-738831.275,"varhLeadLifetime":7671132.083,"varhLagLifetime":364887.437,"vahLifetime":19931517.684,"rmsCurrent":0.566,"rmsVoltage":700.278,"reactPwr":-389.349,"apprntPwr":129.106,"pwrFactor":0.25,"whToday":0,"whLastSevenDays":0,"vahToday":0,"varhLeadToday":0,"varhLagToday":0}],"storage":[{"type":"acb","activeCount":0,"readingTime":0,"wNow":0,"whNow":0,"state":"idle"}]}
2025.05.19 07:46:50 5: Enphase (Enphase): ==> Error:
2025.05.19 07:46:50 5: Enphase (Enphase): ==> ReturnCode: 200
2025.05.19 07:46:50 5: Enphase (Enphase): ==> Readingtime: 1747633589
2025.05.19 07:46:50 5: Enphase (Enphase): ==> Readingtime: 19
2025.05.19 07:46:50 5: Enphase (Enphase): ==> Readingtime: 19
2025.05.19 07:46:50 5: Enphase (Enphase): ==> Readingtime: Mon May 19 07:46:29 2025
2025.05.19 07:46:51 4: Enphase (Enphase): ==> start newlive
2025.05.19 07:46:51 5: Enphase (Enphase): ==> header: HTTP/1.1 200 OK
Server: openresty/1.17.8.1
Date: Mon, 19 May 2025 05:46:30 GMT
Content-Length: 3354
Connection: close
Strict-Transport-Security: max-age=63072000; includeSubdomains
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
2025.05.19 07:46:51 5: {
    "connection": {
        "mqtt_state": "connected",
        "prov_state": "configured",
        "auth_state": "ok",
        "sc_stream": "enabled",
        "sc_debug": "disabled"
    },
    "meters": {
        "last_update": 1747633590,
        "soc": 13,
        "main_relay_state": 1,
        "gen_relay_state": 5,
        "backup_bat_mode": 1,
        "backup_soc": 0,
        "is_split_phase": 0,
        "phase_count": 3,
        "enc_agg_soc": 13,
        "enc_agg_energy": 910,
        "acb_agg_soc": 0,
        "acb_agg_energy": 0,
        "pv": {
            "agg_p_mw": 727760,
            "agg_s_mva": 835775,
            "agg_p_ph_a_mw": 242403,
            "agg_p_ph_b_mw": 237457,
            "agg_p_ph_c_mw": 247899,
            "agg_s_ph_a_mva": 285180,
            "agg_s_ph_b_mva": 266240,
            "agg_s_ph_c_mva": 284355
        },
        "storage": {
            "agg_p_mw": -155000,
            "agg_s_mva": -262593,
            "agg_p_ph_a_mw": -74000,
            "agg_p_ph_b_mw": -81000,
            "agg_p_ph_c_mw": 0,
            "agg_s_ph_a_mva": -116627,
            "agg_s_ph_b_mva": -109618,
            "agg_s_ph_c_mva": -36349
        },
        "grid": {
            "agg_p_mw": 4312,
            "agg_s_mva": 117882,
            "agg_p_ph_a_mw": -114270,
            "agg_p_ph_b_mw": 251594,
            "agg_p_ph_c_mw": -133012,
            "agg_s_ph_a_mva": -205685,
            "agg_s_ph_b_mva": 547587,
            "agg_s_ph_c_mva": -224020
        },
        "load": {
            "agg_p_mw": 577072,
            "agg_s_mva": 691064,
            "agg_p_ph_a_mw": 54133,
            "agg_p_ph_b_mw": 408051,
            "agg_p_ph_c_mw": 114887,
            "agg_s_ph_a_mva": -37132,
            "agg_s_ph_b_mva": 704209,
            "agg_s_ph_c_mva": 23986
        },
        "generator": {
            "agg_p_mw": 0,
            "agg_s_mva": 0,
            "agg_p_ph_a_mw": 0,
            "agg_p_ph_b_mw": 0,
            "agg_p_ph_c_mw": 0,
            "agg_s_ph_a_mva": 0,
            "agg_s_ph_b_mva": 0,
            "agg_s_ph_c_mva": 0
        }
    },
    "tasks": {
        "task_id": 124808711,
        "timestamp": 1747633420
    },
    "counters": {
        "main_CfgLoad": 1,
        "main_CfgChanged": 1,
        "main_taskUpdate": 7,
        "MqttClient_respond": 14,
        "MqttClient_msgarrvd": 7,
        "MqttClient_create": 1,
        "MqttClient_setCallbacks": 1,
        "MqttClient_connect": 1,
        "MqttClient_subscribe": 1,
        "SSL_Keys_Create": 1,
        "sc_SendStreamCtrl": 1,
        "sc_SendDemandRspCtrl": 1,
        "rest_Status": 366
    },
    "dry_contacts": {
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "\u0006",
            "dry_contact_status": 0
        },
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "",
            "dry_contact_status": 0
        },
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "",
            "dry_contact_status": 0
        },
        "": {
            "dry_contact_id": "",
            "dry_contact_type": "",
            "dry_contact_load_name": "",
            "dry_contact_status": 0
        }
    }
}
2025.05.19 07:46:51 5: Enphase (Enphase): ==> Error:
2025.05.19 07:46:51 5: Enphase (Enphase): ==> ReturnCode: 200
2025.05.19 07:46:51 5: Enphase (Enphase): ==> Daten zu alt
2025.05.19 07:46:51 5: Enphase (Enphase): ==> Readingtime: 1747633590
2025.05.19 07:46:51 5: Enphase (Enphase): ==> Readingtime: 1747633611.97542
2025.05.19 07:46:51 5: Enphase (Enphase): ==> Readingtime: 15

Ergebnis ist dann der state Daten zu alt".

Hat jemand eine Idee, woran das liegen kann?
Der Zugriff auf die Weboberfläche funktioniert nach Login via Token.

Vielen Dank und viele Grüße,
Peter
#2
Heizungssteuerung/Raumklima / Aw: Anbindung Viessmann Heizun...
Letzter Beitrag von hasselh - 19 Mai 2025, 07:37:15
@300P, du hast eine PN von mir...  :)
#3
Sonstige Systeme / Aw: Xiaomi Mijia LYWSD03MMC hä...
Letzter Beitrag von adelineonnelly - 19 Mai 2025, 03:45:43
Zitat von: asdfex am 11 Mai 2025, 11:35:11Hallo,
ich habe hier einige Xiaomi Mijia LYWSD03MMC und FHEM auf einem Raspberry.
Vor ein paar Wochen habe ich auf einen Raspberry Pi 4 mit Raspbian OS 12 gewechselt und seit dem ein Problem:
Die Sensoren hängen sich regelmäßig auf - die Anzeige wird noch aktualisiert, aber Bluetooth ist komplett tot (sowohl via FHEM als auch manuell). Nur ein Reset durch Batterie herausnehmen hilft.
Das Problem betrifft immer einen einzelnen Sensor, BLE am Raspberry ist also funktionsfähig.
Es ist auch kein Problem mit einer kürzlichen Änderung in FHEM, Squid Game Online mit einer älteren Codeversion passiert es genauso.

Hat das sonst noch jemand beobachtet oder Ideen woran das Problem liegen könnte?
Hallo asdfex! Zu dem von Ihnen angesprochenen Problem gibt es einige Punkte, die mir nicht ganz klar sind.
Wenn BLE auf Raspberry Pi noch funktioniert und nur ein Sensor abstürzt, könnte es dann am Sensor selbst liegen und nicht am Betriebssystem oder FHEM?
#4
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Persuasiv - 18 Mai 2025, 23:57:13
Ist ein Sunny Tripower Smart Energy laut deines Verständnisses ein Hybridinverter?
#5
Sonstiges / Aw: RenaultZE
Letzter Beitrag von JJ_Pamoux - 18 Mai 2025, 23:42:34
Hallo!

Tolles Modul, dass ich auch mit meinem Renault Zoe nutze. Stop/Start funktioniert nicht wirklich gut, aber ich vermute, dass das an der Renault API liegt, ich schaue noch einmal, ob das überhaupt über die App ordentlich funktioniert.

Ich habe kleine Änderungen am Modul vorgenommen, u.a. bezüglich der Google Maps API (vermutlich habe ich das aber auch nur irgendwo gelesen), mit hard-codiertem API-Key (habe ich natürlich entfernt; kostenfrei bei entsprechend geringer, privater Nutzung):
--- "96_RenaultZE (1).pm"       2025-05-18 23:02:41.000000000 +0200
+++ FHEM/96_RenaultZE.pm        2025-05-18 23:25:55.447144189 +0200
@@ -1695,16 +1695,18 @@
     $homeRadius  = AttrVal( $name, "ze_homeRadius", 20 )       if ( $homeRadius eq "auto");
     Log3 $name, 5, "RenaultZE_distanceFromHome - Check ".$hash."/".$lat." ".$long."/".$homeRadius;

-    if ($distance < $homeRadius) {
+#     if ($distance < $homeRadius) {
+     if ($distance < 1) { # change scale for distance < 1 km
             $distance = $distance * 1000;
             $dim = "m";
             if ($distance < $homeRadius) {
-                   $homeinfo = "home";
+                   $homeinfo = "Home";
                    $homestate = "home";
            }
     }
     $distance = sprintf("%.3f", $distance);
-    $homeinfo = $distance." ".$dim." away"          if ( $homeinfo eq "");
+#    $homeinfo = $distance." ".$dim." away"          if ( $homeinfo eq "");
+    $homeinfo = "Away"          if ( $homeinfo eq "");
     if ( $hlong != 0.0 and $hlat != 0.0) {
        readingsSingleUpdate($hash,"distanceFromHome",$distance,1);
        readingsSingleUpdate($hash,"distanceUnit",$dim,1);
@@ -1725,7 +1727,8 @@
     Log3 $name, 5, "RenaultZE_gAddress1 - In ".$hash."/".$name." ".$lat."/".$long;
     readingsSingleUpdate($hash,"ze_Step","RenaultZE_gAddress1",1);

-    my $url = "https://www.google.com/maps/place/$lat+$long";
+#    my $url = "https://www.google.com/maps/place/$lat+$long";
+    my $url = "https://maps.googleapis.com/maps/api/geocode/json?latlng=$lat,$long&key=<google-maps-api-key>&language=de";
     Log3 $name, 5, "RenaultZE_gData_Step1 - URL ".$url;
     my $param = {
                     url        => $url,
@@ -1758,7 +1761,13 @@
     #    my $lastErr = $hash->{READINGS}{ze_lastErr}{VAL};
     #    return undef                                                                                  if ($lastErr ne "");

-    $data =~ s/.*meta content=\"(.*)\" itemprop=\"description\".*/$1/sg;
+#    $data =~ s/.*meta content=\"(.*)\" itemprop=\"description\".*/$1/sg;
+    my $decode_json = eval { from_json($data) };
+    if( $@) {
+      Log3 $name, 2, "$name: json error: $@ in RenazltZE_gAddress2";
+      return;
+    }
+    $data = $decode_json->{results}[0]->{formatted_address};
     Log3 $name, 5, "RenaultZE_gAddress2 - Address ".$data;
     my $oldinfo = ReadingsVal($name,"homeInfo","");
     my $newinfo = $oldinfo." (".$data.")"
#6
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Univega06 - 18 Mai 2025, 23:23:49
Okay, die werte sehen wie gesagt bei mir anders aus.
Das Astro-Modul ist im SF integriert?


Nachtrag: Habe den Fehler gefunden. Im global war nicht die korrekte Position angegeben. Jetzt passen die Werte!

Danke und Grüße
Kai
#7
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 18 Mai 2025, 23:15:35
sunaz wird durch eine Subroutine es Astro-Moduls geliefert und läuft auch bis 360 Grad.
Hier der Ausschnitt der Rawdata von heute:

2025051801 => hod: 01, nod: So, sunaz: 350, sunalt: -19, rad1h: -, wcc: 100, wid: 61, rr1c: 0.00, pvrl: -, con: 734, gcons: 25, temp: 7
2025051802 => hod: 02, nod: So, sunaz: 5, sunalt: -19, rad1h: -, wcc: 100, wid: 3, rr1c: 0.50, pvrl: -, con: 627, gcons: 23, temp: 9
2025051803 => hod: 03, nod: So, sunaz: 20, sunalt: -17, rad1h: -, wcc: 100, wid: 61, rr1c: 0.30, pvrl: -, con: 594, gcons: 22, temp: 9
2025051804 => hod: 04, nod: So, sunaz: 34, sunalt: -12, rad1h: -, wcc: 100, wid: 61, rr1c: 0.30, pvrl: -, con: 567, gcons: 25, temp: 9
2025051805 => hod: 05, nod: So, sunaz: 47, sunalt: -6, rad1h: -, wcc: 100, wid: 61, rr1c: 0.30, pvrl: -, con: 636, gcons: 24, temp: 9
2025051806 => hod: 06, nod: So, sunaz: 59, sunalt: 1, rad1h: -, wcc: 89, wid: 80, rr1c: 0.00, pvrl: 15, con: 638, gcons: 23, temp: 9
2025051807 => hod: 07, nod: So, sunaz: 70, sunalt: 10, rad1h: -, wcc: 100, wid: 61, rr1c: 0.00, pvrl: 189, con: 523, gcons: 23, temp: 9
2025051808 => hod: 08, nod: So, sunaz: 82, sunalt: 19, rad1h: -, wcc: 100, wid: 3, rr1c: 0.00, pvrl: 835, con: 1288, gcons: 28, temp: 10
2025051809 => hod: 09, nod: So, sunaz: 93, sunalt: 28, rad1h: -, wcc: 100, wid: 3, rr1c: 0.00, pvrl: 2649, con: 1603, gcons: 35, temp: 11
2025051810 => hod: 10, nod: So, sunaz: 106, sunalt: 37, rad1h: -, wcc: 74, wid: 2, rr1c: 0.00, pvrl: 4350, con: 976, gcons: 20, temp: 12
2025051811 => hod: 11, nod: So, sunaz: 121, sunalt: 46, rad1h: -, wcc: 80, wid: 2, rr1c: 0.00, pvrl: 3453, con: 913, gcons: 24, temp: 13
2025051812 => hod: 12, nod: So, sunaz: 140, sunalt: 53, rad1h: -, wcc: 60, wid: 3, rr1c: 0.00, pvrl: 2037, con: 888, gcons: 15, temp: 15
2025051813 => hod: 13, nod: So, sunaz: 163, sunalt: 58, rad1h: -, wcc: 52, wid: 2, rr1c: 0.00, pvrl: 3474, con: 1156, gcons: 43, temp: 15
2025051814 => hod: 14, nod: So, sunaz: 190, sunalt: 58, rad1h: -, wcc: 96, wid: 3, rr1c: 0.20, pvrl: 2350, con: 844, gcons: 32, temp: 15
2025051815 => hod: 15, nod: So, sunaz: 214, sunalt: 55, rad1h: -, wcc: 20, wid: 80, rr1c: 0.00, pvrl: 4184, con: 1015, gcons: 10, temp: 15
2025051816 => hod: 16, nod: So, sunaz: 235, sunalt: 48, rad1h: -, wcc: 51, wid: 2, rr1c: 0.00, pvrl: 2127, con: 612, gcons: 3, temp: 16
2025051817 => hod: 17, nod: So, sunaz: 250, sunalt: 40, rad1h: -, wcc: 92, wid: 3, rr1c: 0.00, pvrl: 3355, con: 1920, gcons: 58, temp: 16
2025051818 => hod: 18, nod: So, sunaz: 264, sunalt: 30, rad1h: -, wcc: 100, wid: 3, rr1c: 0.00, pvrl: 1168, con: 1550, gcons: 57, temp: 16
2025051819 => hod: 19, nod: So, sunaz: 276, sunalt: 21, rad1h: -, wcc: 100, wid: 3, rr1c: 0.00, pvrl: 956, con: 633, gcons: 26, temp: 15
2025051820 => hod: 20, nod: So, sunaz: 287, sunalt: 12, rad1h: -, wcc: 34, wid: 2, rr1c: 0.00, pvrl: 418, con: 676, gcons: 23, temp: 14
2025051821 => hod: 21, nod: So, sunaz: 298, sunalt: 4, rad1h: -, wcc: 44, wid: 2, rr1c: 0.00, pvrl: 96, con: 601, gcons: 24, temp: 13
2025051822 => hod: 22, nod: So, sunaz: 310, sunalt: -4, rad1h: -, wcc: 98, wid: 3, rr1c: 0.00, pvrl: -, con: 714, gcons: 23, temp: 13

Und von NextHours:

NextHour00 => starttime: 2025-05-18 23:00:00, day: 18, hourofday: 24, today: 1
              pvapifc: 0, pvaifc: -, pvfc: 0, aihit: 0
              confc: 22, confcEx: 22, weatherid: 103, wcc: 98, rr1c: 0.00, temp=12.20
              rad1h: 0, sunaz: 336, sunalt: -16, DoN: 0
              rrange: 0.00, crange: -, DaysInRange: -, correff: 1.00/-
              soc01: -, soc02: -, soc03: -, socprogwhsum: -
              rcdchargebat01: -, rcdchargebat02: -, rcdchargebat03: -
NextHour01 => starttime: 2025-05-19 00:00:00, day: 19, hourofday: 01, today: 0
              pvapifc: 0, pvaifc: -, pvfc: 0, aihit: 0
              confc: 22, confcEx: 22, weatherid: 103, wcc: 100, rr1c: 0.00, temp=11.80
              rad1h: 0, sunaz: 350, sunalt: -18, DoN: 0
              rrange: 0.00, crange: -, DaysInRange: -, correff: 1.00/-
              soc01: -, soc02: -, soc03: -, socprogwhsum: -
              rcdchargebat01: -, rcdchargebat02: -, rcdchargebat03: -
NextHour02 => starttime: 2025-05-19 01:00:00, day: 19, hourofday: 02, today: 0
              pvapifc: 0, pvaifc: -, pvfc: 0, aihit: 0
              confc: 22, confcEx: 22, weatherid: 103, wcc: 100, rr1c: 0.00, temp=11.10
              rad1h: 0, sunaz: 5, sunalt: -19, DoN: 0
              rrange: 0.00, crange: -, DaysInRange: -, correff: 1.00/-
              soc01: -, soc02: -, soc03: -, socprogwhsum: -
              rcdchargebat01: -, rcdchargebat02: -, rcdchargebat03: -
NextHour03 => starttime: 2025-05-19 02:00:00, day: 19, hourofday: 03, today: 0
              pvapifc: 0, pvaifc: -, pvfc: 0, aihit: 0
              confc: 22, confcEx: 22, weatherid: 103, wcc: 100, rr1c: 0.00, temp=10.50
              rad1h: 0, sunaz: 20, sunalt: -17, DoN: 0
              rrange: 0.00, crange: -, DaysInRange: -, correff: 1.00/-
              soc01: -, soc02: -, soc03: -, socprogwhsum: -
              rcdchargebat01: -, rcdchargebat02: -, rcdchargebat03: -
NextHour04 => starttime: 2025-05-19 03:00:00, day: 19, hourofday: 04, today: 0
              pvapifc: 0, pvaifc: -, pvfc: 0, aihit: 0
              confc: 21, confcEx: 21, weatherid: 102, wcc: 75, rr1c: 0.00, temp=10.10
              rad1h: 0, sunaz: 34, sunalt: -12, DoN: 0
              rrange: 0.00, crange: -, DaysInRange: -, correff: 1.00/-
              soc01: -, soc02: -, soc03: -, socprogwhsum: -
#8
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von Univega06 - 18 Mai 2025, 23:08:30
Hallo Heiko,
ich bin endlich dazu gekommen nochmal etwas zu forschen....
Wo kommt beim "get ..... nextHours" der Wert "sunaz" her. Dieser verändert sich über den Tag nur um +/-70, sollte doch aber volle 360 ° haben?!

Zitat von: DS_Starter am 12 Mai 2025, 22:33:17Hallo Kai,

ich sehe bei dir keinen Fehler und habe deswegen bei mir zwei Instanzen nachgestellt.

..........


Danke und Grüße
Kai
#9
FHEM Code changes / Revision 29975: 76_SolarForeca...
Letzter Beitrag von System - 18 Mai 2025, 22:51:24
Revision 29975: 76_SolarForecast: contrib Version 1.52.4

76_SolarForecast: contrib Version 1.52.4

Source: Revision 29975: 76_SolarForecast: contrib Version 1.52.4
#10
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von DS_Starter - 18 Mai 2025, 22:28:53
Nabend zusammen,

in meinem contrib liegt die V 1.52.4.

In Vorbereitung der Hybridinverterintegration ist bei den Invertern im setupInverterDevXX der bisherige Schlüssel "pv" in "pvOut" umbenannt und es gibt einen neuen Schlüssel "pvIn" für die DC Eingangsleistung aus den Solarzellen. pvIn wird nun auch in der Flußgrafik unterhalb der Solarzelle angezeigt.
Solange pvIn nicht gesetzt ist, wird dort 0 angezeigt.

pvIn    Ein Reading, welches die aktuelle DC PV-Eingangsleistung in W liefert (Summe aller angeschlossenen Strings).
   Es wird ein positiver numerischer Wert erwartet.
   
pvOut    Ein Reading, welches die aktuelle Leistung aus PV-Erzeugung, die an das Hausnetz oder öffentliche Netz
   geliefert wird, bereitstellt. Es wird ein positiver numerischer Wert erwartet.

Die Umstellung von pv -> pvOut erfolgt automatisch. Bitte Restart nicht vergessen!
pvIn ist dann noch manuell zu setzen, ist jedoch kein Problem wenn der Schlüssel später eingefügt wird. Bis dahin wird lediglich "0" angezeigt, sonst hat es keine Nachteile.

Die Online-Hilfe zu setupInverterDevXX ist für eine bessere Übersicht Inverterspezifisch organisiert.

LG,
Heiko