systemctl status push-server Und damit was ankommt, musst du auch vzlogger push beibringen.
Grüße Frank Christian Wulff <christianwu...@gmx.de> schrieb am So., 22. Juli 2018, 22:23: > Okay, das Problem mit dem Frontend konnte ich gerade selber beheben. Steht > auch in der Doku, überliest sich aber leicht. > > > > In meiner /var/www/volkszaehler.org/htdocs/frontend/javascripts/options.js > fehlt ein Komma. > > Das rote markierte hier: > > middleware: [ > > { > > title: 'Local (default)', > > url: '../middleware.php'*,* > > live: 8082 > > > > > > > > Trotzdem glaube ich, das der Push Server noch nicht läuft. > > Wie kann ich das testen? > > “pstree” liefert: > > systemd─┬─agetty > > ├─apache2───10*[apache2] > > ├─avahi-daemon───avahi-daemon > > ├─cron > > ├─dbus-daemon > > ├─dhcpcd > > ├─exim4 > > ├─mysqld_safe───mysqld───24*[{mysqld}] > > ├─ntpd > > ├─php > > ├─rsyslogd─┬─{in:imklog} > > │ ├─{in:imuxsock} > > │ └─{rs:main Q:Reg} > > ├─sshd───sshd───sshd───bash───pstree > > ├─systemd───(sd-pam) > > ├─systemd-journal > > ├─systemd-logind > > ├─systemd-udevd > > ├─thd > > ├─vzlogger─┬─{libmicrohttpd} > > │ └─30*[{vzlogger}] > > └─wpa_supplicant > > > > Lieben Gruß, > > Chris > > > > > > > > *Von:* Christian Wulff [mailto:christianwu...@gmx.de] > *Gesendet:* Sonntag, 22. Juli 2018 21:54 > *An:* 'volkszaehler.org - users' > *Betreff:* Re: [vz-users] S0 Wasseruhr ohne Umweg über die Datenbank > > > > Hmm, ich habe da so meine Probleme mit der Aktivierung des Push Servers. > > Ich vermute das liegt an der etwas älteren Version meiner Installation vom > ungefähr Oktober oder November 2016. > > Ich denke die Pfade sind inzwischen etwas anders. > > Ich habe das soweit ich konnte angepasst, komme nun aber nicht mehr weiter. > > > > In der /var/www/volkszaehler.org/etc/volkszaehler.conf.php habe ich: > > $config['push']['enabled'] = true; // set to true to enable > push updates > > $config['push']['server'] = 5582; // vzlogger will push to > this ports (binds on 0.0.0.0) > > $config['push']['broadcast'] = 8082; // frontend will subscribe on this > port (binds on 0.0.0.0) > > > > $config['push']['routes']['wamp'] = array('/', '/ws'); // routes > for wamp access > > $config['push']['routes']['websocket'] = array(); // > routes for plain web sockets, try array('/socket') > > > > > > > > In meiner /etc/systemd/system/push-server.service steht: > > [Unit] > > Description=push-server > > After=syslog.target network.target > > Requires= > > > > [Service] > > ExecStart=/usr/bin/php /var/www/ > volkszaehler.org/misc/tools/push-server.php > > ExecReload=/bin/kill -HUP $MAINPID > > StandardOutput=null > > Restart=always > > > > [Install] > > WantedBy=multi-user.target > > > > > > > > Wenn ich den Push-Server an der Konsole starte: > > php /var/www/volkszaehler.org/misc/tools/push-server.php > > > > Kommt dies: > > Volkszaehler Push Server > > Listening for updates on 5582. Clients may connect at 8082. > > No routes configured for WebSocket protocol. Disabling websockets. > > > > > > Das Browser Frontend meldet jetzt: > > > > Die Eigenschaft "forEach" eines undefinierten oder Nullverweises kann > nicht abgerufen werden. > > > > Wer weiss Rat? > > > > Lieben Gruß, > > Chris > > > > > > > > > > > > > > > > *Von:* Frank Richter [mailto:frank.richte...@gmail.com] > *Gesendet:* Mittwoch, 18. Juli 2018 22:22 > *An:* volkszaehler.org - users > *Betreff:* Re: [vz-users] S0 Wasseruhr ohne Umweg über die Datenbank > > > > Na also, von den ganzen ESP-Kanälen kriegt der Push-Server gar nix mit. > Ich sehe da kein Performance-Problem. > > > > Gruß > > Frank > > > > Am 18.07.2018 9:47 nachm. schrieb "Christian Wulff" <christianwu...@gmx.de > >: > > Moin, > > > > denn antworte ich mal so zusammengefasst auf beide Nachrichten: > > > > Das ganze läuft auf einem Raspberry Pi 3 mit der Erweiterung von Udo. Hier > sind direkt angeschlossen 3x Stromzählerkanal über 2 USB IR-Leseköpfe, 1x > Wasseruhr über S0 und 19 Stück DS18b20 über 1-Wire im Minutentakt. > > Zusätzlich kommen noch über den ersten ESP8266 mit ESPEasy 15 Kanäle > DS18b20 Temperaturwerte im Minutentakt. > > Über einen zweiten selbst programmierten ESP8266 kommen im Minutentakt 3 > Drehzahlwerte. > > Über einen dritten selbst programmierten ESP8266 kommen 8x > Luftfeuchtigkeit, 8x Luftdruck und 9x Temperatur = 25 Werte im Minutentakt. > > Uns dann habe ich noch 3 mobile DS18b20 über je einen ESP8266. > > Unterm Strich habe ich also nur einen S0 Zähler. > > > > Ich werde mich mal mit dem Push Server, node-RED und MQTT beschäftigen > müssen wenn ich mal wieder Zeit dafür finde. Bis dahin kann ich mir das > leider nur theoretisch durchdenken. > > Auf jeden Fall habt ihr mir schon mal die richtigen Tipps gegeben. > > > > Vielen Dank und lieben Gruß, > > Chris > > > > ------------------------------------------------------- > > > > > > > > Hallo, > > > > > > am Dienstag, 17. Juli 2018 um 22:13 hat Frank Richter geschrieben: > > > wüsste nicht dass man das aufteilen kann. > > > > Grundsätzlich ist es möglich vzlogger doppelt laufen zu lassen. > > Das man dann zwei Konfigurationsdateien braucht ist wohl offensichtlich. > > > > Man muss dabei halt noch aufpassen das man nicht versucht das selbe Device > zweimal anzusprechen, das geht mit Sicherheit schief. > > Das beträfe indem Fall also alle S0-Zähler die an diesem Rpi, an dieser > Erweiterung hängen. > > > > > > mfg Daniel > > > > > > *Von:* Frank Richter [mailto:frank.richte...@gmail.com] > *Gesendet:* Dienstag, 17. Juli 2018 22:14 > *An:* volkszaehler.org - users > *Betreff:* Re: [vz-users] S0 Wasseruhr ohne Umweg über die Datenbank > > > > Hi Christian, > > > > wüsste nicht dass man das aufteilen kann. Die Frage zielte eher darauf ab, > dass du möglicherweise mehrere Pis hast oder Wireless-Sensoren auf > ESP-Basis etc. > > > > Probier's doch einfach mal aus. Ich glaube eher nicht dass die Push-Werte > ein Performance-Problem sind. Ein Großteil deiner Kanäle sind doch bestimmt > Temperatursensoren, die eh nicht so häufig ausgelesen werden. > > > > Grüße > > Frank > > > > Christian Wulff <christianwu...@gmx.de> schrieb am Di., 17. Juli 2018, > 21:32: > > Moin Frank, > > > > Ich denke die 69 Kanäle werden von einer vzlogger Instanz geloggt. > > Kann man das aufteilen? > > Dann würde ich nur die Wasseruhr (und vielleicht später nochmal 2-3 > weitere Kanäle) mit einer zweiten Instanz loggen. Und nur diese zweite > Instanz durch den Push Server rausschicken. > > Wie macht man das genau? > > > > Lieben Gruß, > > Chris > > > > *Von:* Frank Richter [mailto:frank.richte...@gmail.com] > *Gesendet:* Montag, 16. Juli 2018 00:08 > *An:* volkszaehler.org - users > *Betreff:* Re: [vz-users] S0 Wasseruhr ohne Umweg über die Datenbank > > > > Hi Christian, > > > > soweit korrekt verstanden. > > > > Der Push-Server verteilt die Daten, die bei ihm (vom vzlogger) angeliefert > werden. Das ist nicht weiter konfigurierbar. > > Werden deine 69 Kanäle alle von einer vzlogger-Instanz geloggt? Wenn > nicht, nur dort aktivieren wo es auch erforderlich ist. > > Bei Temperatursensoren kann man das Loginterval mit "interval" passend > einstellen, dann entsteht keine nennenswerte Last durch die paar > Push-Datensätze. > > > > Grüße > > Frank > > > > Christian Wulff <christianwu...@gmx.de> schrieb am So., 15. Juli 2018, > 23:12: > > Moin Frank, > > > > nun hatte ich endlich mal Zeit mir das ganze anzuschauen. > > Ich versuche das mal zu verstehen und denke mal laut: > > > > Der PushServer ist ein Dienst, den man auf dem Raspi3 aktivieren kann. > > Der sendet dann alle Daten raus, in dem Moment wie sie ankommen, ohne > diese vorher zu aggregieren. Dadurch erhält man eine höhere Auflösung und > immer dann sofort die Daten, wenn die entstehen. > > Soweit, so gut. > > Beeinflusst das in irgendeiner Art die Speicherung der Daten in die > Datenbank? Ich vermute nein. > > Die Daten die im Frontend dargestellt werden, sind die Daten aus der > Datenbank. > > Und zur Laufzeit des Frontends werden dann die Daten vom Pushserver, > anstatt aus der Daten aus der Datenbank angezeigt. > > Ich denke bis dahin habe ich das verstanden. > > Was ich jetzt nicht so gut finde, ist, dass alle Kanäle vom Push Server > gesendet werden. Das sind bei mir immerhin schon 69 Kanäle, die noch locker > auf gut 100 anwachsen können. > > Gibt es da keine Möglichkeit den PushServer auf einige wenige Kanäle > einzuschränken? (Im ersten Ansatz reicht mir ein Kanal, später vielleicht > noch 2-3 weitere, aber niemals alle ~100 Kanäle). > > Meine Idee dabei ist einfach nicht alles unnötig zu belasten. > > > > Node Red würde auch auf dem Raspi3 laufen, richtig? > > Node Red verwandelt die Push Server Daten dann in ein MQTT Protokoll. > > > > Und mit meinem ESP8266 kann ich dann mit der PubSubClient Library dieses > MQTT Protokoll lesen? > > > > Lieben Gruß, > > Chris > > > > > > > > > > *Von:* Frank Richter [mailto:frank.richte...@gmail.com] > *Gesendet:* Sonntag, 8. Juli 2018 15:57 > *An:* volkszaehler.org - users > *Betreff:* Re: [vz-users] S0 Wasseruhr ohne Umweg über die Datenbank > > > > Hi Christian, > > > > schau dir im Wiki die Seiten zum Push-Server und Node-Red an, damit kann > man das basteln. Der Push-Server konvertiert die eingehenden Impulse zu > Leistung (hier: Durchfluss) und kann sie per Websockets an Node-Red > weiterleiten. Von dort zum ESP bietet sich MQTT an, dafür brauchst du den > PubSubClient. > > > > Grüße > > Frank > > > > Christian Wulff <christianwu...@gmx.de> schrieb am So., 8. Juli 2018, > 13:44: > > Moin, > > > > ich würde gerne den aktuellen Wasserverbrauch auf einem Display ausgeben, > und zwar ohne Umweg über die Datenbank. > > Ohne Umweg über die Datenbank deswegen, weil ich die Datenbank einfach > nicht unnötig belasten möchte. > > > > Hier kommen die Daten her: > > Ich habe also eine S0 Wasseruhr und die ist über Udos Raspi Erweiterung an > einem Raspi3 angeschlossen. > > > > Hier will ich die Daten anzeigen: > > Als Anzeige habe ich einen ESP8266 und ein Display. > > Der ESP8266 holt sich momentan die Werte über WLAN aus der Datenbank. > > Auf diesem Display zeige ich momentan die Uhrzeit mit Sekunden an, diese > kommt von einem NTP Server. > > Außerdem werden einige Zimmertemperaturen angezeigt. Diese werden im > Minutentakt aus der Datenbank per JSON abgefragt. > > Das gleiche funktioniert auch mit der Wasseruhr, allerdings ist dies im > Minutentakt wenig sinnvoll. > > Meine Wasseruhr gibt pro 0,5L einen Impuls aus. > > Die Anzeige auf dem Display soll also so schnell aktualisiert werden, dass > man dort jeden 0,5L Impuls sofort sieht, egal wie viele Wasserhähne im > ganzen Haus aufgerissen sind. > > Ich möchte dort z.B. ablesen können: 27 L/min und auch 86 L in der letzten > Stunde. > > Das krieg ich alles hin. > > Das Problem an der Stelle ist aber, dass ich dafür die Datenbank im besten > Falle mehrere Male pro Sekunde abfragen muss, damit ich eine schöne Anzeige > bekomme. > > > > Nun die Frage: > > Ich kenne leider nicht gut genug die Struktur des Volkszählers. > > Wo und wie werden die Impulse von der Wasseruhr bis in die Datenbank > verarbeitet und weitergeleitet? > > Und wo und wie kann ich diese anzapfen ohne die Datenbank usw. stärker zu > belasten? > > > > Ich hoffe das ich ausreichend rüberbringen konnte was ich möchte. > > Und ich hoffe noch mehr, dass mir jemand weiterhelfen kann?! > > > > Liebe Grüße und einen schönen Sonntag, > > Chris > > > > > > > >