Sonnenuntergang -> whatsapp -> keine Nachricht

Überwachung der Solaranlage per eMail oder Pushover und Steuerung von Geräten mit Smart Home Zentralen. PV-Überschuss Steuerung verbunden mit Geräten und Tasmota Firmware. Wallbox Steuerungen und API Schnittstelle, über die Daten in die Solaranzeigen Datenbanken geschrieben und gelesen werden können. Alles, was man für Steuerungsaufgaben benötigt.

Moderator: Ulrich

my2cents
Beiträge: 31
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von my2cents »

Moin,

ich wollte mal die API zum Nachrichten Versand ausprobieren, bekomme aber keine Meldung. Einrichtung ist erfolgt, Koordinaten in der user.config.php stimmen, API und Handy nummer mehrfach kontrolliert... passt alles.

Nun habe ich mal das erweiterte Logging aktiviert und da wirds klemmen.... bei der Berechnung des Sonnenuntergangs "1000000000|0|Sonnenuntergang" kann ja kaum stimmen... 09.09.2001 ist schon etwas her :)

Funktioniert das bei irgend jemandem? update habe ich gestern ausgeführt, somit sollten alle Dateien auf dem neuesten Stand sein.

Code: Alles auswählen

31.01. 10:00:01 |-------------------------   Start  growatt.php   ---------------------
31.01. 10:00:04    -Firmware: DK1.0-  Warnungen: 0000
31.01. 10:00:04    -Auslesen des Gerätes beendet.
31.01. 10:00:05    -Alle 10 Minuten werden die Statistikdaten remote übertragen.
31.01. 10:00:05 *  -Daten zur entfernten InfluxDB [ solar ] gesendet.
31.01. 10:00:05    -Alle 10 Minuten werden die Statistikdaten übertragen.
31.01. 10:00:05 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
31.01. 10:00:05 *  -Mitternacht: 31.01.2022 00:00:00 Timestamp: 1643583600
31.01. 10:00:05    -Array
(
    [0] => 1000000000|0|Sonnenuntergang
)

31.01. 10:00:05    -0: Array
(
    [0] => 1000000000
    [1] => 0
    [2] => Sonnenuntergang
)

31.01. 10:00:05 *  -Eintrag: Sonnenuntergang  Datum: 09.09.2001 Anzahl: 0
31.01. 10:00:05    -OK. Datenübertragung erfolgreich.
31.01. 10:00:05 |-------------------------   Stop   growatt.php   ---------------------

Benutzeravatar
Ulrich
Administrator
Beiträge: 3773
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 64 Mal
Danksagung erhalten: 315 Mal
Kontaktdaten:

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von Ulrich »

Die Meldung in der LOG Datei besagt, dass noch keine Meldung zum Sonnenuntergang gesendet wurde. War denn die Funktion "Meldungen senden" schon gestern Abend vor Sonnenuntergang aktiv? Wenn erst später, kommt die erste Meldung erst heute Abend.
--------------------------------------
Ulrich [Admin]

my2cents
Beiträge: 31
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von my2cents »

Die Funktion ist schon seit 3 Tagen aktiv, die Datei unterhalb "database" wird geschrieben mit Inhalt:

Code: Alles auswählen

pi@solaranzeige:/var/www/log# cat ../html/database/1.WhatsApp.meldungen.txt
1000000000|0|Sonnenuntergang
Eine Whatsapp Nachricht erhalte ich nicht. Und im Log steht nach Sonnenuntergang auch nicht, dass die meldungen_senden aufgerufen würde. Loglevel steht auf 10.

Benutzeravatar
Ulrich
Administrator
Beiträge: 3773
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 64 Mal
Danksagung erhalten: 315 Mal
Kontaktdaten:

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von Ulrich »

Dan poste bitte einmal den Teil der LOG-Datei heute Abend ca. 30 Minuten nach Sonnenuntergang.
--------------------------------------
Ulrich [Admin]

TeamO
Beiträge: 602
Registriert: Mo 22. Jun 2020, 08:58
Hat sich bedankt: 6 Mal
Danksagung erhalten: 98 Mal

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von TeamO »

Das Problem kann auch daran liegen, dass dort imemr wieder die Telefonnummer geändert wird.
Aktuell ist es die +34 644 51 95 23.
Die Nummer hat sich in der Zwischenzeit glaub schon drei mal geändert.

my2cents
Beiträge: 31
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von my2cents »

Sonnenuntergang heute 17:04 an meinen Koordinaten.
Nachricht hätte also um 17:14 kommen sollen, dem war nicht so. Auch im Log tat sich nichts, was nicht schon den ganzen Tag durchgelaufen wäre, analog zu dem, was ich heute früh gepostet habe.

Ich habe danach diese Zeile in der meldungen_senden.php

Code: Alles auswählen

$Sonnenuntergang = date_sunset($now, SUNFUNCS_RET_TIMESTAMP, $breite, $laenge, $zenith, $gmt_offset );
so abgeändert:

Code: Alles auswählen

$Sonnenuntergang = date_sunset($now, SUNFUNCS_RET_TIMESTAMP, 53, 9, 90, 1);
und den Zeitversatz auf 900 Sekunden, ergo 15 Minuten gestellt.

Danach tat sich etwas. Nachricht wurde versendet und im Log sah es so aus:

Code: Alles auswählen

31.01. 17:21:01 |-------------------------   Start  growatt.php   ---------------------
31.01. 17:21:04    -Firmware: DK1.0-  Warnungen: 0000
31.01. 17:21:04    -Auslesen des Gerätes beendet.
31.01. 17:21:05 *  -Daten zur entfernten InfluxDB [ solar ] gesendet.
31.01. 17:21:05 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
31.01. 17:21:05 *  -Mitternacht: 31.01.2022 00:00:00 Timestamp: 1643583600
31.01. 17:21:05    -Array
(
    [0] => 1000000000|0|Sonnenuntergang
)

31.01. 17:21:05    -0: Array
(
    [0] => 1000000000
    [1] => 0
    [2] => Sonnenuntergang
)

31.01. 17:21:05 *  -Eintrag: Sonnenuntergang  Datum: 09.09.2001 Anzahl: 0
31.01. 17:21:05 *  -Meldungsdaten von der InfluxDB  gelesen.
31.01. 17:21:05 *  -array (
  'results' =>
  array (
    0 =>
    array (
      'statement_id' => 0,
      'series' =>
      array (
        0 =>
        array (
          'name' => 'Summen',
          'columns' =>
          array (
            0 => 'time',
            1 => 'last',
          ),
          'values' =>
          array (
            0 =>
            array (
              0 => 1643645771,
              1 => 0,
            ),
          ),
        ),
      ),
    ),
  ),
)
31.01. 17:21:05 *  -db=solaranzeige&q=select+last%28Wh_Heute%29+from+Summen+where+time+%3E+1643583600000000000++and+time+%3C%3D+now%28%29+limit+5
31.01. 17:21:05 *  -1
31.01. 17:21:05 *  -Solaranzeige Gerät: 1
Sonnenuntergang: Heute am 31.01.2022 17:04 wurden  Wh erzeugt.
31.01. 17:21:05 *  -Nachricht wird bald versendet an User_Key[1] +491724441246
31.01. 17:21:06    -Nachricht wurde versendet an WhatsApp mit Rufnummer: +49(XXXX) und Key: 587727
31.01. 17:21:06    -Array
(
    [0] => 1000000000|0|Sonnenuntergang
)

31.01. 17:21:06    -0: Array
(
    [0] => 1000000000
    [1] => 0
    [2] => Sonnenuntergang
)

31.01. 17:21:06    -OK. Datenübertragung erfolgreich.
31.01. 17:21:06 |-------------------------   Stop   growatt.php   ---------------------
31.01. 17:22:01 |-------------------------   Start  growatt.php   ---------------------
31.01. 17:22:04    -Firmware: DK1.0-  Warnungen: 0000
31.01. 17:22:04    -Auslesen des Gerätes beendet.
31.01. 17:22:04 *  -Daten zur entfernten InfluxDB [ solar ] gesendet.
31.01. 17:22:04 *  -Daten zur lokalen InfluxDB [ solaranzeige ] gesendet.
31.01. 17:22:04 *  -Mitternacht: 31.01.2022 00:00:00 Timestamp: 1643583600
31.01. 17:22:04    -Array
(
    [0] => 1643645185|1|Sonnenuntergang
)

31.01. 17:22:04    -0: Array
(
    [0] => 1643645526
    [1] => 1
    [2] => Sonnenuntergang
)

31.01. 17:22:04 *  -Eintrag: Sonnenuntergang  Datum: 31.01.2022 Anzahl: 1
31.01. 17:22:04    -OK. Datenübertragung erfolgreich.
31.01. 17:22:04 |-------------------------   Stop   growatt.php   ---------------------
Meine Koordinaten in der user.config.php sind korrekt eingetragen, siehe hier:

Code: Alles auswählen

//  Sonnen Auf und Untergang:

//  Standort für Frankfurt. Wer es etwas genauer haben möchte, hier den eigenen
//  Standort eintragen. Bitte als Dezimalzahl wie hier vorgegeben!

$Breitengrad = 53.106944;
$Laengengrad = 9.396944;
Da ich kein php spreche, kann ich den Fehler bei der Berechnung oder Sammlung der Daten aus den verschiedenen Dateien nicht entdecken. Da es aber so nun funktioniert, mach' ich mir ne geistige Notiz, was ich nach einem eventuellen update zu tun habe und bin erstmal zufrieden. Auch wenn der SolarErtrag heute nullkommanull war.

Beste Grüße
Markus

Benutzeravatar
Ulrich
Administrator
Beiträge: 3773
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 64 Mal
Danksagung erhalten: 315 Mal
Kontaktdaten:

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von Ulrich »

Bitte den Tracelevel wieder auf 7 einstellen, sonst wird die LOG Datei unnötig groß.
--------------------------------------
Ulrich [Admin]

my2cents
Beiträge: 31
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von my2cents »

Die hab ich wieder auskommentiert, also auf default. Sobald alles läuft, stell ich das Logging systemweit eh komplett ab. Am liebsten würde ich auch auf die lokale DB verzichten, die lasse ich jetzt nur für die abendliche Nachricht laufen... Schreibzugriffe auf die SD Karte minimieren ist das Ziel.

my2cents
Beiträge: 31
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von my2cents »

Ich habe das Problem identifiziert.

Wenn der Growatt zu Sonnenuntergang bereits offline ist, weil es zu dunkel ist, schickt das growatt.php keinen Aufruf an die meldungen_senden.php mehr, weil bei "zu dunkel" auf "goto Ausgang" verwiesen wird, welches HINTER dem messages Aufrug steht.

Setze ich den "Ausgang" um, dass es so aussieht:

Code: Alles auswählen

Ausgang: if (isset($Messenger) and $Messenger == true) {
    $funktionen->log_schreiben( "Nachrichten versenden...", "   ", 8 );
    require ($Pfad."/meldungen_senden.php");
Wird die Nachricht verschickt. Das erklärt, warum die Nachricht kommt, wenn der WR im standby ist, aber nicht, wenn er schon offline ist.


Beste Grüüße
Markus

my2cents
Beiträge: 31
Registriert: Do 20. Jan 2022, 14:35
Danksagung erhalten: 4 Mal

Re: Sonnenuntergang -> whatsapp -> keine Nachricht

Beitrag von my2cents »

Allerdings kommt kein Wert raus.

"Sonnenuntergang: Heute am 01.02.2022 17:03 wurden Wh erzeugt."

Der Wert "Wh_Heute" ist in der lokalen DB vorhanden. Die Abfrage scheint trotzdem ins Leere zu laufen.

Sagt mal, geht das nur bei mir nicht, nutzt die Funktion keiner?

Code: Alles auswählen

pi@solaranzeige:/var/www/html# influx  -precision rfc3339
Connected to http://localhost:8086 version 1.8.3
InfluxDB shell version: 1.8.3
> use solaranzeige
Using database solaranzeige
> select last(Wh_Heute) from Summen limit 5
name: Summen
time                 last
----                 ----
2022-02-01T15:22:12Z 3200

Das ist die original Abfrage:

Code: Alles auswählen

 $aktuelleDaten["Query"] = "db=".$InfluxDBLokal."&q=".urlencode( "select last(Wh_Heute) from Summen where time > ".$HeuteMitternacht."000000000  and time <= now() limit 5" );
Selbst, wenn ich sie versuche, so einfach wie möglich zu machen, nämlich so:

Code: Alles auswählen

$aktuelleDaten["Query"] = "db="solaranzeige"&q=".urlencode( "select last(Wh_Heute) from Summen" );
Kommt kein Ergebnis heraus. Und da bin ich dann auch am Ende mit meinem Latein.

Antworten