Posts by wend
-
-
Ich habe dieselbe Konfigration (DS-Lite bei 1&1) und Fritzbox 7590. Und bei mir klappt es auch nicht. Ich bin soweit, dass ich den Tunnel (vom Android-Smartphone mit der App "WG Tunnel" (von fdroid) vom Gaestenetzwerk auf das Heimnetz herstellen kann, aber von keinem(!) Netzwerk ausserhalb. Bei den auswärtigen Netzwerken gibt es aber auch noch Unterschiede. Und zwar einmal kannman den Tunnel einschalten (in der App), nach ein paar Sekunden wird der Indikator auch grün, schaltet sich dann aber nach weiteren 4 Sekunden wieder ab. In anderen Netzen (in denen sich das Handy ber WLAN dann befindet) geht nichtmal das. Ich habe schon einige Anleitungen aus dem Internet ausprobiert (IpV6 et cetera). Aner es geht nix. Und verstanden habe ich das auch nicht. Hat es überhaupt irgendwer schonmal hinbekommen?
-
Hallo Zusammen. Ich möchte mit meinem Raspberry Pi die Daten unserer Haus-Wärmepumpe auslesen und dann in verschiedenen Charts darstellen. Also täglichen Energieverbrauch, Effizienz etc... Wenn man die Daten einmal hat, können die auch per MQTT etc. weitergeschcikt werden (z.B. an HomeAssist). Es soll ohne Cloud-Anbindung auskommen. Die Wärmepumpe kann zwar auch per Handy-App über die Claud gesteuert werden, aber das gefällt mir nicht so gut, da die Daten dann das Haus und möglicherweise sogar das Land verlassen. Alles soll sich also im lokalen Netz abspielen. Ich weiß, dass einige Wärmepumpe im WLAN eingebunden werden, dort kann man dann ggf. mit einer Schnittstelle (z.B. Modbus-TCP) an Daten rankommen. Bei meiner Wärmepumpe ist das aber nicht so. Die Cloud-Anbindung geht über ein DTU (Also Mobilfunk-Daten), und man kommt da also nicht ran. Ich will also diese DTU komplett ignorieren, und stattdessen an den Internen Modbus-RTU Bus rangehen, und die Daten einfach mithorchen. Also erstmal auch keine Settings verändern, sondern nur Daten abgreifen, die sowieso über den MODBUS von der Ausseneinheit an die Inneneinheit gesendet werden. Bevor ich aber weiter ins Detail gehe, frage ich erstmal, ob das generell von Interesse ist, und ob andere mit ihrer Wärmepumpe mitmachen wollen. Insbesondere Leute, die -- wie ich -- eine no-name Wärmepumpe haben, bzw. ein Modell, was vom Installateur umgelabelt wurde. Der OEM ist dann meist ein Hersteller in China. Das ist nicht unbedingt schlecht, nur die Dokumentation muss man sich erst mühsam zusammensuchen und es erfordert auch etwas Raten und Ausprobieren. Aber das ist ja doch die Spezialität hier im Forum. Für Wärmepumpen von Panasonic und Mitsubishi gibt es bereits gut dokumentierte Schnittstellen. Die von einheimischen oder europäischen Herstellern sind auch meist besser dokumentiert, aber manchmal kommt man trotzdem nicht an die Daten ran, oder auch manchmal nicht an die Dokumentation, die den Installationsfirmen vorbehalten sind. Dann wäre das evtl. auch was, da über MODBUS ranzugehen. Wie wärs?
-
starte das Programm mit sudo ./gaszaehler und die Datendatei wird erzeugt und mit Werten gefüllt. Wenn ich jedoch das Powershell-Fenster schließe, werden keine Daten mehr erfasst. Wie kann ich das Programm dauerhaft laufen lassen?
Das hatte ich oben im Thread schon geschildert. Am besten, Du benutzt das Programm screen dafür. Das kannst Du auch manuell starten, darin dann den gaszaehler starten, dann mit CTRL-A CTRL-D verlassen, und der gaszaehler läuft weiter. Noch besser ist es natuerlich, das ganze per cron-job automatisch zu staerten, immer dann, wenn der Raspberry Pi neu gebootet hat. s.o.
Manuell:
Einfach sowas hier eingeben:
-
-
Du kannst probehalber den GPIO auch mal (mit dem 1kOhm Widerstand) mit den 3.3V verbinden. Vielleicht sind die internen Pull-Down widerstaende eingeschaltet....
Mich wundert nämlich, dass der erste gelesene Wert des Pins nicht 1 ist. Sondern quasi sofort ne 0 liefert. Das soll eigentlich nicht so sein.
-
Hm. Nach den 60 Sekunden warten nochmal einen Puls nachschicken und dann abbruch. (?)
Sicher, dass es der richtige Pin ist? GPIO 27 ?
Sicher, dass der Widerstand auch 1kOhm ist und nicht etwa >10kOhm ?
Du kannst probehalber den GPIO auch mal (mit dem 1kOhm Widerstand) mit den 3.3V verbinden. Vielleicht sind die internen Pull-Down widerstaende eingeschaltet....
Es hat doch mal funktioniert, oder?
Ansonsten um das zu debuggen, füge in den Programmcode noch zeilen ein wie:
printf("Hier im If Block\n");
oder
printf("Hier im else Block\n");
-
Ich nehme an, Du guckst Dir das Datenfile an, während die Datennahme noch läuft.
Die Datenfiles sind erst dann vollständig, wenn entweder der Tag vorbei ist oder das gaszähler-Programm beendet wurde (CTRL-c).
An der Konsole kann man das ebenfalls nicht beurteilen, da nicht jede Zeile immer sofort ausgegeben wird.
Probier mal folgendes:
gaszaehler programm frisch starten, dann genau 5 Pulse geben, dann mit CTRL-c beenden, dann das File anschauen.
Beziehungsweise kleine Ergänzung: Der letzte Puls wird sofort in das File geschrieben, wenn der davor mehr als 30 Sekunden her ist.
Das soll verhindern, dass zu oft auf eine (empfindliche) SD-Karte geschrieben wird. Deshalb werden normalerweise vom Betriebsystem aus immer 4096 Bytes gesammelt, bis die dann auf die SSD geschrieben werden.
Wenn Du sicher bist, dass es das nicht ist, dann achte noch drauf, dass die System-load < 1 ist, also dass nicht noch zu viele andere Programme das System auslasten. Allerdings ist das bei diesen langsamen Pulsen unwahrscheinlich, dass welche verloren gehen. Da muss der Prozessor schon total überlastet sein.
-
Bei mir sieht das (für den Gaszähler) heute so aus:
Code
Display More# Datennahme gestartet am 28.09.2022 02:00:00 Zaehlerstand: 315063 # Sekunde timer delta v cnt 16559.4 37519.6 37523 0 315063 16561.8 2.4026 37522 1 315064 16587.5 25.6832 28.0858 0 315064 16589.6 2.08575 27.7689 1 315065 16614.4 24.8021 26.8879 0 315065 16616.6 2.20306 27.0052 1 315066 16641.2 24.6117 26.8147 0 315066 16643.7 2.53248 27.1441 1 315067 16668.2 24.5276 27.06 0 315067 16670.7 2.43071 26.9583 1 315068 16695.3 24.6407 27.0714 0 315068 16697.8 2.5484 27.1891 1 315069 16722.7 24.9044 27.4528 0 315069 16725.1 2.39565 27.3 1 315070 16751.1 25.9906 28.3863 0 315070
Die erste Spalte hat die Sekunden ab Mitternacht UTC. 16559 s ist also ca. 04:35 Uhr.
In der nächsten Spalte die Zeit seit dem letzten Puls (0-zu-1 oder 1-zu-0) in Sekunden.,
in der nächsten Spalte die Zeit seit dem letzten Puls mit der gleichen Flanke (0-zu-0 oder 1-zu-1) in Sekunden,
danach die Flanke des Pulses (0 oder 1),
dann die Gesamtzahl der bereits gezählten Pulse. (= Zählerstand*100)
Also: Mein Zählerstand ist heute bei 3150.700 Kubikmeter, und der Verbrauch um 04:40 war etwa bei 31 Kubikmeter/Tag (natürlich nur Kurzzeitig, wenn der Warmwasserbeuler morgens ab 04:35 aufheizt).
0.01 pro 28 Sekunden, also 0.01/28*60*60*24=30.85...
Wenn Du den Zählerstand über die Zeit auftragen willst, dann Spalte 5 gegen Spalte 1,
Wenn Du den Momentanverbauch auftragen willst, dann 1 durch Spalte 3 gegen Spalte 1.
-
-
Da, funktioniert doch alles:
52791.2 0.000944 0.000944 0 2
53546.3 755.087 755.088 1 3
53546.4 0.108794 755.196 0 3
53549 2.6504 2.7592 1 4
53549.1 0.107344 2.75775 0 4
53552.4 3.29385 3.40119 1 5
53552.5 0.107346 3.40119 0 5
5 Pulse wurden gezählt. Um 14:46 UTC, etwas unregelmaessig mit etwa 3 Sekunden zwischen den Pulsen...
-
Hallo toom,
aus der Fehlermeldung würde ich eher ein permission error rauslesen, aber das mit der Timer-Adresse kann natuerlich auch sein.
Hast Du gaszaehler mit "sudo" gestartet?
Probier mal, ob /dev/mem vorhanden ist und lesbar für den user pi. Wenn nicht lesbar, dann muss gaszaehler mit sudo gestartet werden.
bei mir:
Ich starte den gaszaehler mit:
-
Hm. Blöd. Das heisst, viel Arbeit, oder auf die Email-Benachrichtigungen verzichten.
-
Oh, ja. Man sieht, ich habe mich eine Weile nicht damit beschäftigt. Wie stehen denn die Chancen, dass ein Upgrade auf Bullseye (aktuell) mit so einem alten Pi B+ reibungslos funktioniert?
-
EIn Teil der Rechner läuft sogar schon mit jessie, aber da ist dasselbe Problem:
Codepi@gaspower:/home/pi>apt-cache policy libssl-dev libssl-dev: Installiert: 1.0.1t-1+deb8u12 Installationskandidat: 1.0.1t-1+deb8u12 Versionstabelle: *** 1.0.1t-1+deb8u12 0 500 http://archive.raspbian.org/raspbian/ jessie/main armhf Packages 100 /var/lib/dpkg/status
Oder war jessie noch älter?
-
Du könntest Dir einen eigenen Mailserver aufbauen, der noch TLS1.0/1.1 entgegennimmt und über den die Mails an Web.de senden.
Dafür brauchst Du natürlich einen weiteren Pi oder sonst einen kleinen Rechner, hast aber den Vorteil, das die vorhandenen Pi nicht angepasst werden müssen (außer der Mailadresse).
Interessant wird es dann erst wieder, wenn alle Mailprovider auf 2FA umsteigen (so wie gmail das schon gemacht hat).
Gruss
Ja, hab ich auch schon überlegt. Dann wäre es aber einfacher, mir ne andere Mailadresse zu besorgen, wo das TLS 1.0 noch geht. Dann brauche ich nur die zu ändern. Aber das ist wahrscheinlich keine nachhaltige Lösung, wenn die dann auch umstellen. Ist echt mist.
Wie wärs mit ner Bastellösung: Ich besorg mir nen binary von der neuen libssl, und nenne die dann um? Geht wahrscheinlich auch nicht, wenn sich die API geaendert hat.
-
<pre>
libssl-dev:
Installed: 1.1.0l-1~deb9u1
Candidate: 1.1.0l-1~deb9u1
Version table:
*** 1.1.0l-1~deb9u1 500
500 http://mirrordirector.raspbian.org/raspbian stretch/main armhf Packages
100 /var/lib/dpkg/status
</pre>
-
Ja. Das ist suboptimal. ich kann nicht riskieren, das nach einem Upgrade was anderes nicht mehr geht. Die Systeme laufen seit 5 Jahren praktisch wartungsfrei. Trotzdem Danke erstmal. Vielleicht gibt es ja noch andere Ideen? s-nail aus den Quellen kompilieren? Wahrscheinlich wird eine neue TLS library benötigt. Das kann kompliziert werden...
-
Danke!
Hier also der Output. Ist wahrscheinlich alt.
Das system ist ein stretch.
Ein einfaches Update geht da wohl nicht?
500 http://mirrordirector.raspbian.org/raspbian stretch/main armhf Packages
-
Sicher ne alte. Ist ein Raspi B+. Hm. Vielleicht muss man das mit men flag auf TLS 1.3 umstellen. Muss ich mal schauen.
Erstaml version rausfinden --> [v14.8.16]