Beitrag von Bruttus ()
Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: falsche formulacion ().
Es gibt 4.961 Antworten in diesem Thema, welches 1.513.733 mal aufgerufen wurde. Der letzte Beitrag () ist von ranseyer.
Hallo Community,
Ich muss das p4d-System neu installieren, weil es nicht funktioniert.
Ich muss meine Daten und Einstellungen sichern und weiß nicht, wie ich das machen soll. Ich benötige Ratschläge, wie ich die Daten sichern und nach der Neuinstallation von p4d erneut einfügen kann.
Kann mir jemand einen Rat geben?
Ich benötige Ratschläge, wie ich die Daten sichern und nach der Neuinstallation von p4d erneut einfügen kann.
Kann mir jemand einen Rat geben?
„p4d-backup.sh“
Ich habe diesen Befehl eingegeben und irgendwo auf der Speicherkarte wurde ein Backup erstellt. Geben Sie nach der Neuinstallation von p4D einfach Folgendes ein:
gunzip name-dump.sql.gz
mysql -u p4 -pp4 -Dp4 < *-dump.sql ?
Und was ist mit dem Hinweis im Link: ACHTUNG:
Der Import löscht zunächst alle Daten und importiert dann die gedumpten Daten. Um die Dump-Daten anzuhängen, müssen Sie die SQL-Anweisungen in den Dump-Dateien manuell ändern ?
sorry das ich immer noch so selten hier rein schaue, nach wie vor viel zu wenig Zeit.
Erstmal zu dem Backup. Wenn man alles also auch dem DB Server neu aufsetzt sollte man wenn man die Daten nicht verlieren möchte die Tabellen sichern.
Das geht wie oben schon geschrieben wurde mittels des Skripts p4d-backup.sh das sichert alle Tabellen und legt dazu ein File ja Tabelle in aktuellen Ordner in welchem man sich beim Aufruf befindet an. Dort muss natürlich genug Platz sein.
Auf dem neuen System importiert man alles wie beschrieben und schon ist man auf dem alten Stand.
Selbstredend muss man die Sicherungs-Dateien dazu auf das neue System, transportieren (Netzwerk, Stick, externe Platte, ... wie immer man möchte).
Zu der Meldung:
ZitatDer Import löscht zunächst alle Daten und importiert dann die gedumpten Daten ....
bei einem neuen System ist noch nichts da also wird auch nichts gelöscht. Die Meldung soll warnen das man wenn man einen alten Stand auf ein bestehendes System einspielt alles neuerer weg ist sofern man sich nicht selbst darum kümmert das eben dies nicht passiert.
Meppo ich habe es selbst mal auf einem frischen Linux (Ubuntu 23.04) versucht dort wird der g++ in Version 12.3 verwendet.
Damit kann ich die von dir geschilderten Probleme reproduzieren. Ich habe es so angepasst das es auch mit dem neueren g++ baut. Ist schon im git verfügbar.
Schau mal ob das auch bei dir unter Debian alle Probleme löst.
Dazu entweder in dem Ordner mir den Quellen:
git checkout .
git pull
um auf den aktuellen Stand zu kommen. Oder löschen und nach der Anleitung bei git clone ... beginnen.
BTW: Die libwebsockets solltest du bei einem so neuen System nicht selbst bauen müssen da sollte bereits eine 4.x dabei sein, also einfach
Vielen Dank für die Erklärung.
1. Frage: Wenn ich es richtig verstanden habe, werde ich eine Datensicherung mit dem Befehl: „p4d-backup.sh“ durchführen. Wenn ich öfter ein Backup mache, überschreibt die Datensicherung dann das Original oder wird neben dem Original eine neue Datensicherung erstellt?
2. Frage:
Befehle:
" gunzip NAME-dump.sql.gz " und
" mysql -u p4 -pp4 -Dp4 < *-dump.sql "
Ich werde das Backup importieren.
3. Frage:
Können Datensicherungen woanders gespeichert werden und wie? Es ist mir passiert, dass ich p4d mit dem Befehl „dpkg --remove p4d“ deinstallieren musste und das neu installierte p4d nach dem Befehl nicht funktionierte
„dpkg --purge p4d“ und anschließende Installation von p4d funktionierten und die Datensicherung verschwand wieder.
Welches Verfahren soll ich wählen?
Hallo,
ich scheitere an einer Neuinstallation, das hat die letzten Male immer ganz gut funktioniert. Aber dieses Mal startet p4d nicht und nicht.
Was habe ich gemacht
Ich bekomme dann beim Versuch p4d zu starten oder den status abzufragen folgende Fehler:
pi@raspberrypi:~ $ systemctl start p4d
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ====
Legitimierung ist zum Starten von »p4d.service« notwendig.
Authenticating as: ,,, (pi)
Password: Failed to start p4d.service: Die Wartezeit für die Verbindung ist abgelaufen
See system logs and 'systemctl status p4d.service' for details.
polkit-agent-helper-1: pam_authenticate failed: Authentication failure
pi@raspberrypi:~ $
pi@raspberrypi:~ $ systemctl status p4d
× p4d.service - P4d Control Deamon
Loaded: loaded (/etc/systemd/system/p4d.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Fri 2023-10-27 17:56:32 CEST; 10min ago
Process: 1110 ExecStart=/usr/bin/p4d (code=exited, status=127)
CPU: 5ms
Okt 27 17:56:32 raspberrypi systemd[1]: p4d.service: Scheduled restart job, restart counter is at 5.
Okt 27 17:56:32 raspberrypi systemd[1]: Stopped p4d.service - P4d Control Deamon.
Okt 27 17:56:32 raspberrypi systemd[1]: p4d.service: Start request repeated too quickly.
Okt 27 17:56:32 raspberrypi systemd[1]: p4d.service: Failed with result 'exit-code'.
Okt 27 17:56:32 raspberrypi systemd[1]: Failed to start p4d.service - P4d Control Deamon.
Alles anzeigen
Kann mir da vielleicht jemand einen Tipp geben? Bitte?
Schöne Grüße
Peter
Was habe ich gemacht
- Raspberry Pi OS Lite in 32Bit runter geladen und auf Karte geschrieben
Raspberry Pi OS läuft aktuell mit Debian version 12 (bookworm).
Bei mir läuft immer noch Debian version 10 (buster).
Siehe auch hier:
Genaueres wird aber wohl nur horchi wissen.
Alles anzeigenVielen Dank für die Erklärung.
1. Frage: Wenn ich es richtig verstanden habe, werde ich eine Datensicherung mit dem Befehl: „p4d-backup.sh“ durchführen. Wenn ich öfter ein Backup mache, überschreibt die Datensicherung dann das Original oder wird neben dem Original eine neue Datensicherung erstellt?
2. Frage:
Befehle:
" gunzip NAME-dump.sql.gz " und
" mysql -u p4 -pp4 -Dp4 < *-dump.sql "
Ich werde das Backup importieren.
3. Frage:
Können Datensicherungen woanders gespeichert werden und wie? Es ist mir passiert, dass ich p4d mit dem Befehl „dpkg --remove p4d“ deinstallieren musste und das neu installierte p4d nach dem Befehl nicht funktionierte
„dpkg --purge p4d“ und anschließende Installation von p4d funktionierten und die Datensicherung verschwand wieder.
Welches Verfahren soll ich wählen?
1. es wird in dem Ordner erstellt in welchem Das Backup Skript aufgerufen wird, liegt dort eine Sicherung so wird diese Überschrieben.
2. was ist die Frage
3. ja siehe 1.
Weder purge noch remove löscht die Backups.
Alles anzeigenHallo,
ich scheitere an einer Neuinstallation, das hat die letzten Male immer ganz gut funktioniert. Aber dieses Mal startet p4d nicht und nicht.
Was habe ich gemacht
- Raspberry Pi OS Lite in 32Bit runter geladen und auf Karte geschrieben
- gestartet, Benutzer pi mit meinem Passwort angelegt und SSH aktiviert
- das install-deb.sh runter geladen und installiert.
Ich bekomme dann beim Versuch p4d zu starten oder den status abzufragen folgende Fehler:
CodeAlles anzeigenpi@raspberrypi:~ $ systemctl start p4d ==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ==== Legitimierung ist zum Starten von »p4d.service« notwendig. Authenticating as: ,,, (pi) Password: Failed to start p4d.service: Die Wartezeit für die Verbindung ist abgelaufen See system logs and 'systemctl status p4d.service' for details. polkit-agent-helper-1: pam_authenticate failed: Authentication failure pi@raspberrypi:~ $ pi@raspberrypi:~ $ systemctl status p4d × p4d.service - P4d Control Deamon Loaded: loaded (/etc/systemd/system/p4d.service; enabled; preset: enabled) Active: failed (Result: exit-code) since Fri 2023-10-27 17:56:32 CEST; 10min ago Process: 1110 ExecStart=/usr/bin/p4d (code=exited, status=127) CPU: 5ms Okt 27 17:56:32 raspberrypi systemd[1]: p4d.service: Scheduled restart job, restart counter is at 5. Okt 27 17:56:32 raspberrypi systemd[1]: Stopped p4d.service - P4d Control Deamon. Okt 27 17:56:32 raspberrypi systemd[1]: p4d.service: Start request repeated too quickly. Okt 27 17:56:32 raspberrypi systemd[1]: p4d.service: Failed with result 'exit-code'. Okt 27 17:56:32 raspberrypi systemd[1]: Failed to start p4d.service - P4d Control Deamon.
Kann mir da vielleicht jemand einen Tipp geben? Bitte?
Schöne Grüße
Peter
Der Aufruf von
als nicht root User sollte nach einem Passwort fragen, den Meldungen nach hast du das nicht eingeben.
Sollte systemctrl nicht nach einem Passwort fragen verwende sudo systemctl start p4d
Ansonsten schau mal nach diesem Hinweis im README
:
ZitatPerform all the following steps as root user
Hält man sich daran taucht dieses Problem erst gar nicht auf
Danke Horchi
Halloo Horchi,
wenn ich dasganze mit sudo versuche, bekomme ich ebenfalls die gleichen Fehlermeldungen:
pi@raspberrypi:~ $ sudo systemctl start p4d
Job for p4d.service failed because the control process exited with error code.
See "systemctl status p4d.service" and "journalctl -xeu p4d.service" for details.
Soll ich es vielleicht doch mit der älteren Buster version versuchen?
SG
Peter
Also ich habe heute nochmal bei null angefangen. Zuerst mit einer Version 10 und dann nochmal mit einer aktuellen Version 12 von Debian. Aber bekomme jedes mal die gleichen Fehlermeldungen nach dem Ausführen des Installationsskripts.
Mir ist diesmal aber aufgefallen das schon beim Ausführen des Intallationsskripts folgender Fehler auftaucht:
dpkg: Fehler beim Bearbeiten des Paketes p4d (--configure):
»installiertes post-installation-Skript des Paketes p4d«-Unterprozess gab den Fehlerwert 5 zurück
Trigger für libc-bin (2.36-9+rpt2+deb12u3) werden verarbeitet ...
Fehler traten auf beim Bearbeiten von:
p4d
E: Sub-process /usr/bin/dpkg returned an error code (1)
Moin Leute,
hatte jetzt schon länger den folgenden Fehler im Log und p4d ist einfach gar nicht mehr gestartet:
Oct 7 16:11:21 rpi4 p4d[848]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 19 10:08:24 rpi4 p4d[616]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 19 10:09:31 rpi4 p4d[795]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 19 10:10:01 rpi4 p4d[801]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 19 10:10:32 rpi4 p4d[803]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 19 10:11:02 rpi4 p4d[805]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 20 10:19:52 rpi4 p4d[640]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 20 10:32:20 rpi4 p4d[843]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 20 10:32:51 rpi4 p4d[847]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 20 10:33:21 rpi4 p4d[849]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Oct 20 10:33:51 rpi4 p4d[851]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Nov 3 17:04:39 rpi4 p4d[613]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Nov 3 17:05:23 rpi4 p4d[822]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Nov 3 17:05:53 rpi4 p4d[829]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Nov 3 17:06:23 rpi4 p4d[831]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Nov 3 17:06:53 rpi4 p4d[833]: /usr/bin/p4d: error while loading shared libraries: libwiringPi.so: cannot open shared object file: No such file or directory
Alles anzeigen
Nun habe ich endlich mal die Zeit gefunden, mich damit auseinander zu setzen. Die Lösung ist:
Source: https://github.com/unosquare/r…62#issuecomment-525948886
Gruß Hoppel
Hallo, ich bin seit einem halben Jahr auch Besitzer einer Fröling Heizung. Seit einer Woche habe ich den p4d mit einem Raspberry erfolgreich in Betrieb genommen.
Nun wollte ich auf dem Raspberry die MQTT Schnittstelle testen (mit folgendem Kommand: mosquitto_sub -t 'p4d2mqtt/changes' ) .
Wenn ich jetzt den MQTT log auf dem Webinterface aktiviere, habe ich durchgehend noch die Publisher Meldungen:
Nov 10 08:02:04 raspberrypi p4d: -> (p4d2mqtt/changes)[{"id": "UD:0x01", "type": "UD", "name": "Heizungsstatus", "unit": "zst", "state": "off", "value": 5.0, "action": "CHANGE"}]
Nov 10 08:02:14 raspberrypi p4d: -> (p4d2mqtt/changes)[{"id": "UD:0x01", "type": "UD", "name": "Heizungsstatus", "unit": "zst", "state": "off", "value": 5.0, "action": "CHANGE"}]
Nov 10 08:02:24 raspberrypi p4d: -> (p4d2mqtt/changes)[{"id": "UD:0x01", "type": "UD", "name": "Heizungsstatus", "unit": "zst", "state": "off", "value": 5.0, "action": "CHANGE"}]
Wie kann ich denn das wieder unsubscriben? Ist das möglich?
Danke euch
Hallo Zusammen,
ich nutze das P4D von horchi erfolgreich auf meinem Raspberry Pi 4B.
Ich habe mir nun parallel einen Raspberry Pi 5 8GB arm64 (OS Bookworm) zugelegt und versucht das ganze ans laufen zu bringen.
Ich bekomme da sehr viele Fehlermeldungen.
Hat jemand das ganze schon am laufen?
ZitatAlles anzeigeng++ -c -ggdb -O0 -pthread -fPIC -std=c++17 -Wall -Wreturn-type -Wformat -pedantic -Wunused-variable -Wunused-label -Wunused-value -Wunused-function -Wno-long-long -Wno-unused-parameter -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -Wno-psabi -I/usr/include/mariadb -I/usr/include/mariadb/mysql -D_GNU_SOURCE -DTARGET='"p4d"' -DCLASS='P4d' -DNAME='"p4"' -DLOG_PREFIX='""' -DUSEUUID -DUSEMD5 -DUSELIBARCHIVE -DUSEJSON -DUSEGUNZIP -DUSEDB -DBIN_PATH='"/usr/local/bin"' -D_NO_RASPBERRY_PI_ -DGIT_REV='"eacaf7c"' -o lib/db.o lib/db.c
In file included from lib/db.h:23,
from lib/db.c:13:
lib/common.h: In member function ‘void MemoryStruct::clear()’:
lib/common.h:264:20: error: ‘time’ was not declared in this scope
264 | modTime = time(0);
| ^~~~
lib/common.h:23:1: note: ‘time’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
22 | #include <vector>
+++ |+#include <ctime>
23 | #include <list>
lib/db.h: In member function ‘void cDbValue::setValue(long int)’:
lib/db.h:222:23: error: aggregate ‘tm tm’ has incomplete type and cannot be defined
222 | struct tm tm;
| ^~
lib/db.h:227:13: error: ‘localtime_r’ was not declared in this scope; did you mean ‘locale_t’?
227 | localtime_r(&v, &tm);
| ^~~~~~~~~~~
| locale_t
lib/db.h: In member function ‘time_t cDbValue::getTimeValue()’:
lib/db.h:360:20: error: aggregate ‘tm tm’ has incomplete type and cannot be defined
360 | struct tm tm;
| ^~
lib/db.h:372:17: error: ‘mktime’ was not declared in this scope
372 | return mktime(&tm);
| ^~~~~~
lib/db.h:25:1: note: ‘mktime’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
24 | #include "dbdict.h"
+++ |+#include <ctime>
25 |
lib/db.h: In constructor ‘cDbStatements::cDbStatements()’:
lib/db.h:519:44: error: ‘time’ was not declared in this scope
519 | cDbStatements() { statisticPeriod = time(0); }
| ^~~~
lib/db.h:519:44: note: ‘time’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
lib/db.h: In member function ‘void cDbStatements::showStat(const char*)’:
lib/db.h:527:80: error: ‘time’ was not declared in this scope
527 | tell(eloAlways, "Statement statistic of last %ld seconds from '%s':", time(0) - statisticPeriod, name);
| ^~~~
lib/db.h:527:80: note: ‘time’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
lib/db.c: In member function ‘virtual int cDbTable::insert(time_t)’:
lib/db.c:1583:40: error: ‘time’ was not declared in this scope
1583 | setValue(fld, inssp ? inssp : time(0));
| ^~~~
lib/db.c:14:1: note: ‘time’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
13 | #include "db.h"
+++ |+#include <ctime>
14 |
lib/db.c: In member function ‘virtual int cDbTable::update(time_t)’:
lib/db.c:1616:40: error: ‘time’ was not declared in this scope
1616 | setValue(fld, updsp ? updsp : time(0));
| ^~~~
lib/db.c:1616:40: note: ‘time’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
make: *** [Make.config:110: lib/db.o] Fehler 1
ch bekomme da sehr viele Fehlermeldungen.
Lies mal Horchis Post vom 22.10.
Geht's damit?
lib/common.h:23:1: note: ‘time’ is defined in header ‘<ctime>’; did you forget to ‘#include <ctime>’?
22 | #include <vector>
+++ |+#include <ctime>
Füge in die lib/common.h nach der Zeile mit #include <vector> eine neue Zeile ein: #include <ctime>
Habe gerade auf einem 64-bit Bookworm Debian mit folgenden Änderungen (git diff) gebaut:
diff --git a/contrib/DEBIAN/control b/contrib/DEBIAN/control
index 45f14b4..c354d96 100644
--- a/contrib/DEBIAN/control
+++ b/contrib/DEBIAN/control
@@ -2,7 +2,7 @@ Package: p4d
Version: <VERSION>
Section: base
Priority: optional
-Architecture: armhf
+Architecture: arm64
Depends: libssl1.1, libjansson4, openssl, bsd-mailx, msmtp, msmtp-mta,
libcurl4, mosquitto, mosquitto-clients, libmariadb-dev, mariadb-server, libuuid1
Maintainer: Jörg Wendel <linux@jwendel.de>
diff --git a/lib/common.h b/lib/common.h
index 9ccc83e..3544311 100644
--- a/lib/common.h
+++ b/lib/common.h
@@ -21,6 +21,7 @@
#include <map>
#include <vector>
#include <list>
+#include <ctime>
//***************************************************************************
// Colors
Alles anzeigench bekomme da sehr viele Fehlermeldungen.
Lies mal Horchis Post vom 22.10.
Geht's damit?
Habe ich ausprobiert. Leider nein.
Habe auch schon mit dem #include <ctime> probiert aber leider ohne Erfolg.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!