Meldungen per Pushover senden.

Ü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

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

Meldungen per Pushover senden.

Beitrag von Ulrich »

Ab der Version 4.2.0 können Status- und Fehlernachrichten der Solaranzeige mit dem Messengerdienst "Pushover" versendet werden. Warum mit Pushover? Dieser Dienst hat mehrere Vorteile. Es können sehr einfach Meldungen erzeugt werden. D.h. man kann auch von anderen Geräten im Haushalt Meldungen zu diesem Dienst senden. So nutzten ihn auch andere SmartHome Geräte. Der Dienst ist simpel und einfach. Selbst mit einer eMail kann man eine Meldung generieren. Man kann die Nachrichten oder Bilder auf einem PC und auch auf dem Handy empfangen. Es handelt sich nicht um eine Kommunikationssoftware wie Whatsapp! Auf dem Handy kann man nur Nachrichten und Bilder empfangen. Die Kosten für die Software belaufen sich auf einmalig 4,99 € pro Gerät.

Da Jeder eigene Vorstellungen hat, welche Nachrichten und wann versendet werden soll, ist diese Funktion mehr dazu gedacht, dass Sie selber die Meldungen Programmieren, die Sie benötigen. Es sind Beispiele vorhanden. Wer etwas PHP programmieren kann wird keine Probleme damit haben. Hier auf dem Server wird man zusätzlich noch Hilfestellungen bekommen. Es wird auch ein Dokument geben, welches die Funktion genau beschreibt. "Nachrichten_senden.pdf" Ganz Eilige können sich schon einmal melden und die Funktion testen. Da aber noch keine Anleitungen fertig sind, müssen Sie sich im Moment selber mit Pushover und dem Script beschäftigen. Also zur Zeit nur etwas für Experten.

2 Standard Meldungen werden implementiert sein.
1.) Jeden Tag bei Sonnenuntergang wird der Ertrag des Tages gesendet.
2.) Bei einer Fehlermeldung wird diese als Text gesendet.

Hier findet Ihr weitere Standard Meldungen, die Ihr benutzen könnt:
viewforum.php?f=24


Wenn Sie noch weitere Ideen haben, nur her damit. :D
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

gartenfuzi
Beiträge: 36
Registriert: Mo 15. Okt 2018, 22:46

Re: Meldungen per Pushover senden.

Beitrag von gartenfuzi »

Hallo!

Hätte 2 Ideen:

1.) wenn z.B der Raspi hochfährt und Internetzugang das er eine Zustandsmeldung schickt. Z.B „Solaranzeige bereit“ somit kann man überprüfen ob er online ist
2.) Meldung wenn die Batterie eine Unterspannung hat.

Bis jetzt ist keine dieser Meldung bei mir angekommen.

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

Re: Meldungen per Pushover senden.

Beitrag von Ulrich »

gartenfuzi hat geschrieben:
Sa 1. Dez 2018, 03:46
1.) wenn z.B der Raspi hochfährt und Internetzugang das er eine Zustandsmeldung schickt. Z.B „Solaranzeige bereit“ somit kann man überprüfen ob er online ist
2.) Meldung wenn die Batterie eine Unterspannung hat.
OK.

1.) Da mache ich mir ein paar Gedanken.
2.) findust Du hier: viewforum.php?f=24
Bis jetzt ist keine dieser Meldung bei mir angekommen.
Schau doch bitte einmal in die Log Datei /var/www/log/solaranzeige.log ob da etwas zu sehen ist. Wenn nicht, melde Dich bitte per eMail: support@solaranzeige.de
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

gartenfuzi
Beiträge: 36
Registriert: Mo 15. Okt 2018, 22:46

Re: Meldungen per Pushover senden.

Beitrag von gartenfuzi »

Hallo!

Mit der Eingabe des Befehls kommt die Meldung“ Datei oder Verzeichnis nicht gefunden“ dann habe ich vor dem Befehl sudo eingeben da kommt auch die Meldung aber erst wenn ich sudo mcedit eingebe geht die Datei auf aber diese ist leer.

Habe das neue Image jetzt auf eine MSATA Festplatte gespielt. Es funktioniert alles wie es soll aber beim Hochfahren kommt folgende Meldung

[ 3.354771] sd 0:0:0:0 [sda] no Caching mode page found
[ 3.354955] sd 0:0:0:0 [sda] Assuming drive cache: write through

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

Re: Meldungen per Pushover senden.

Beitrag von Ulrich »

[ 3.354771] sd 0:0:0:0 [sda] no Caching mode page found
[ 3.354955] sd 0:0:0:0 [sda] Assuming drive cache: write through
Das besagt nur, dass die SSD Festplatte schneller beschreibbar währe, wenn sie einen Schreibcache hätte. Wie man den installiert findest Du bestimmt im Internet. Ich würde den aber nicht einschalten, da die SSD Platte über einen USB Port angeschlossen ist und nicht fest verbunden.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

HomePv
Beiträge: 23
Registriert: Sa 22. Sep 2018, 07:19

Re: Meldungen per Pushover senden.

Beitrag von HomePv »

Hallo Ulrich,
kannst du bitte noch ein paar Worte zu der Steuerung der Meldungen schreiben.
Ich habe die Logik von

Code: Alles auswählen

$rc = messageControl("Ertrag",0);
noch nicht in Gänze verstanden. Bei einer 0 im 2. Parameter wird die Meldung nur 1x erzeugt und dann unter ./database/meldung.txt abgelegt.
In der Funktion messageControl() wird dann bei der if Anfrage die Bedingungen geprüft und das Array $Teile[$i] übergeben.

Code: Alles auswählen

      $funktionen->log_schreiben($i.": ".print_r($Teile[$i],1),"   ",10);
      if ($Nummer == 0 and date("H:i") != "00:00")  {
        if ($Teile[$i][2] == $Meldung) {
          return $Teile[$i];
        }
Soweit habe ich es verstanden.
Gebe ich an dem 2. Parameter eine Angabe ungleich 0 an wird else ausgeführt.

Code: Alles auswählen

      else  {
        if ($Teile[$i][2] == $Meldung) {
          $Teile[$i][0] = time();
          $Teile[$i][1] = $Nummer;
          $Neu = false;
        }
Hier wird aber nichts an das Script übergeben. In $rc[0] ist dann kein Zeitstempel enthalten und date("Ymd") enthält dann 1970-01-01.
Die Meldung wird dann in einer Endlosschleife ausgegeben.

Ein Paar Worte hierzu und vielleicht ein Beispiel, wann man unter welcher Anwendung im 2. Parameter einen anderen Wert als 0 angeben muss
und wie dann die Steuerung der Meldung

Code: Alles auswählen

if ($rc === false or date("Ymd",$rc[0]) <> date("Ymd")) {
abweichend zum Datum auszusehen hat.

Danke
Gruß Martin

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

Re: Meldungen per Pushover senden.

Beitrag von Ulrich »

Hallo Martin,

ich habe den Nachrichtenblock jetzt in diesem PDF Dokument am Ende noch einmal genauer beschrieben. Messenger Nachrichten

Kannst Du bitte einmal prüfen, ob die Beschreibung ausreicht, oder was ich noch genauer erklären soll.
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

HomePv
Beiträge: 23
Registriert: Sa 22. Sep 2018, 07:19

Re: Meldungen per Pushover senden.

Beitrag von HomePv »

Ulrich hat geschrieben:
Di 11. Dez 2018, 12:08
Kannst Du bitte einmal prüfen, ob die Beschreibung ausreicht, oder was ich noch genauer erklären soll.
Ich habe deine Beschreibung gelesen. Hier hast du den Nachrichtenblock gut beschrieben. Es sollten nun auch Anfänger mit vorhandenen Kenntnissen der Programmerstellung erste Erfolge erreichen. Ich hatte den Zusammenhang zwischen Zeile 11

Code: Alles auswählen

$rc = messageControl("Unterspannung",0);
und Zeile 38

Code: Alles auswählen

$rc = messageControl("Unterspannung",1);
erst nicht verstanden, weil das Zählen der Nachrichten in Zeile 38 nicht funktionierte.

Bei erneutem Lesen deiner Anleitung habe ich die Ursache erkannt und endlich
werden die Nachrichten gezählt. Mit der 0 in Zeile 11 wird die Nachricht "Unterspannung" mit Anzahl und Zeitstempel gelesen und steht im Array $rc zur weiteren Verarbeitung zur Verfügung. Ist die if Bedingung in Zeile 15 erfüllt, wird das Array $rc in Zeile 33 mit true aus der Funktion send_message() überschrieben und steht dann in Zeile 38 nicht mehr zum Zählen bereit. Ich habe

Code: Alles auswählen

$rc = messageControl("Unterspannung",($rc[1]+1) );
jetzt vor die for-Schleife Zeile 32 eingefügt. ;) Darum hatte ich gestern auch bei meinen anderen Meldungen die Probleme mit den Array ohne Zeitstempel und das die Anzahl 1 der Meldung erst im zweiten Durchlauf gespeichert wurde.

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

Re: Meldungen per Pushover senden.

Beitrag von Ulrich »

Hallo Martin,
Du hast Recht! Da is ein Fehler drin. Habe die Routine jetzt noch einmal etwas geändert. Auch in dem PDF Dokument. Hoffe dass sie jetzt so funktioniert, wie sie soll.
Ich habe bis jetzt immer nur mit Nachrichten einmal am Tag gearbeitet, da ist das nicht aufgefallen. Danke für Deinen Hinweis!
-----------------------------------------------------
Ulrich . . . . . . . . [Projekt Administrator]

gartenfuzi
Beiträge: 36
Registriert: Mo 15. Okt 2018, 22:46

Re: Meldungen per Pushover senden.

Beitrag von gartenfuzi »

Hallo!

Das heisst es kommt keine Meldung einer Unterspannung? Muss ich dies bei meinen beiden Raspi auch ändern?

Gruß Alex

Antworten

Zurück zu „Überschuss Steuerung, Anlagenüberwachung, Anbindung an die Heizung, API Schnittstelle und vieles Andere mehr.“