Re: iSpindel - Lokaler Server - iSpindle.py
Verfasst: Freitag 22. Januar 2021, 17:49
oh Mist, sorry. Das habe ich nicht gesehen. Danke. Für alle: Unter Global - Layout lassen sich die Farben ändern.
Wie schon von JackFrost beschrieben, holt diese Version die config komplett aus einer Datenbank.HopfenHoeft hat geschrieben: Freitag 26. März 2021, 16:48 Hallo zusammen,
gibt es eine ganz minimale Version des Servers?
Funktionsumfang, lediglich eine CSV Datei erstellen/füllen oder auch nur auf der Console ausgeben.
Hintergrund, wenn ich in der Config SQL=0 setze versucht er immer noch Settings etc. von dem SQL Server abzurufen.
Viele Grüße
Patrick
Hat wer einen Tipp woran das liegen könnte? Das hatte ich letztens bei dem TCP- Server am Raspi auch, da konnte ich das Problem aber auch nur mit einer Neuinstallation des fertigen Images lösen.Warnung: TCP Server läuft nicht!
Für eine iSpindel? Das hab ich noch nicht probiert, war der Meinung dass mit der Warnung ohnehin nix geht. Versuche ich wenn ich Abends zu Hause bin
Scheinbar hat meine iSpindle einen Wacker, jetzt klappts.Midyr hat geschrieben: Mittwoch 25. August 2021, 14:38 Hallo,
ich würde gerne einen flotten Dreier mit der iSpindle, TCP-Server und der Gainfather initieren.
Leider bekomme ich das nicht hin.
Kann mir bitte mal jemand beschreiben, was ich wo, warum und mit wem configurieren muss?
Danke
Edit: Für Brewfather wird der Alias gesetzt, für GF aber nicht, oder?Midyr hat geschrieben: Mittwoch 25. August 2021, 16:45Scheinbar hat meine iSpindle einen Wacker, jetzt klappts.Midyr hat geschrieben: Mittwoch 25. August 2021, 14:38 Hallo,
ich würde gerne einen flotten Dreier mit der iSpindle, TCP-Server und der Gainfather initieren.
Leider bekomme ich das nicht hin.
Kann mir bitte mal jemand beschreiben, was ich wo, warum und mit wem configurieren muss?
Danke
Schön wäre es, weinn ich im TCP-Server einen Alias von Spindle000 auf Spindle000,SG, und Spindle000[SG] setzten könnte, weil sonst meine alten Gebräue weg sind
Hallo,Midyr hat geschrieben: Mittwoch 25. August 2021, 16:49 Schön wäre es, weinn ich im TCP-Server einen Alias von Spindle000 auf Spindle000,SG, und Spindle000[SG] setzten könnte, weil sonst meine alten Gebräue weg sind
Edit: Für Brewfather wird der Alias gesetzt, für GF aber nicht, oder?
Hallo,Midyr hat geschrieben: Mittwoch 25. August 2021, 17:26 Meine Spindel heißt iSpindel000, Wenn ich aber richtig verstanden habe, muss die für den Grainfather iSpindel000,SG heißen.
Mit alias meine ich, dass der TCP-Server das ",SG" selbst an den Namen hängt(Wie dass bei der der Config vom Brewfather der Fall ist)
Das wäre mir neu. wichtig ist, dass die Server URL angegeben wird und bei enable grainconnect für diese Spindel eine 1 in die settings geschrieben wird.Midyr hat geschrieben: Mittwoch 25. August 2021, 17:26 Meine Spindel heißt iSpindel000, Wenn ich aber richtig verstanden habe, muss die für den Grainfather iSpindel000,SG heißen.
Mit alias meine ich, dass der TCP-Server das ",SG" selbst an den Namen hängt(Wie dass bei der der Config vom Brewfather der Fall ist)
Hallo,Midyr hat geschrieben: Mittwoch 25. August 2021, 17:26 Meine Spindel heißt iSpindel000, Wenn ich aber richtig verstanden habe, muss die für den Grainfather iSpindel000,SG heißen.
Mit alias meine ich, dass der TCP-Server das ",SG" selbst an den Namen hängt(Wie dass bei der der Config vom Brewfather der Fall ist)
Ich bin gerade dabei, auch noch die SG im Server zu ergänzen.hobipivo hat geschrieben: Mittwoch 25. August 2021, 23:25 Hallo,
wie angekündigt die Konfiguration für die Weiterleitung von iSpindel-Daten vom "RasPySpindel-Server" zur "Grainfather-APP":
Beschreibung Weiterleitung
Gruß
Christian
Servus,mrhyde hat geschrieben: Donnerstag 26. August 2021, 18:31 Ich bin gerade dabei, auch noch die SG im Server zu ergänzen.
Das läuft jetzt eh soweit. Ich habe es gestern mal getestet und dann werden auch SG Werte in GF dargestellt. Allerdings habe ich keine Ahnung, wie man dass dann wieder zurückstellen kann.hobipivo hat geschrieben: Freitag 27. August 2021, 10:51 Servus,
ich glaube das hier ein Missverständnis vorliegt.
Im Normalfall sendet die iSpindel die Gravity-Werte in Plato. Die Anzeige von Gravity in der Grainfather-APP ist immer in Plato!
Nur wenn die iSpindel die Gravity-Werte in SG an den RasPySpindel (TCP-Server) sendet, wäre eine Erweiterung des iSpindel-Namens mit ",SG" in der TCP-Server Konfiguration notwendig und der Grainfather-Server würde diese in Plato umrechnen.
Midyr: Hast du die Kalibrierung der iSpindel auf SG durchgeführt oder hast du dies so geplant?
Gruß
Christian
Ich hatte es so verstanden, dass die APP SG erwartet und dann selbst umrechnet.hobipivo hat geschrieben: Freitag 27. August 2021, 10:51...mrhyde hat geschrieben: Donnerstag 26. August 2021, 18:31 Ich bin gerade dabei, auch noch die SG im Server zu ergänzen.
Midyr: Hast du die Kalibrierung der iSpindel auf SG durchgeführt oder hast du dies so geplant?
Gruß
Christian
Edit: Kleine Korrektur > Die Anzeige der spez. Dichte im Grainfather kann zwischen SG - Plato - Brix unter Einstellungen ausgewählt werden und die eingehenden Plato oder SG Daten werden bei Bedarf umgerechnet.
Servus,Midyr hat geschrieben: Freitag 27. August 2021, 15:13 OK, hatte ich wohl falsch verstenden:
NOTE: Please make sure your iSpindel reports gravity in Plato; we will handle converting this to SG for you. If you have already updated your polynomial formula to report in SG, then append ,SG to the 'name' field (SG needs to be in capitals and no other commas must be present) and this will be handled appropriately on our end.
Das hängt ja nur von deiner Formel ab. Die Spindel reportet ja nur den berechneten WertMidyr hat geschrieben: Freitag 27. August 2021, 16:49 Mooment, jetzt bin ich komplett verwirrt:
Wo/wie kann ich denn bestimmen, ob die Spindel Plato oder SG sendet?
Frank
Punkt 1 und 2 habe ich notiert und werde ich beim nächsten Update anpassen.ralfsteck hat geschrieben: Donnerstag 21. Oktober 2021, 13:35 Nachklapp:
3. Wäre es möglich, mehrere Spindeln auf ein Diagramm abzubilden? Ich hab gerade zwei Sude in Gärung und muss jetzt immer die beiden Spindeldiagramme nacheinander aufrufen. Es wäre doch schick, beide in einem Diagramm zu haben. Macht aber auf der anderen Seite nur Sinn, wenn man wie ich letzten Samstag zwei Sude parallel laufen hat. Ich lass es hier mal stehen als Idee.
Du hast ja vielleicht gesehen, dass ich schon beim Schreiben gemerkt habe, dass es nur selten Sinn macht :-)mrhyde hat geschrieben: Freitag 22. Oktober 2021, 10:51
Punkt 3 ist nicht einfach mit dem bestehenden Code realisierbar. Daher habe ich auf der Index Seite ja die Übersichtstabelle für die Spindeln mit aktuellen Daten erstellt
Die beiden Punkte sollten jetzt erledigt sein. In der aktualisierten Version ist auf der about page ein link zum github repo.ralfsteck hat geschrieben: Montag 18. Oktober 2021, 09:34 Mal ein gemäkel auf ganz hohem Niveau:
1. Auf dem Button auf der Haupotseite steht "Diagram Anzeigen", da sollte m.M. "Diagramm anzeigen" stehen
2. suche ich gerade, ob ich die aktuelle Version habe, und finde keinen Link zur aktuellsten Version. Ich weiß, das ist in 1min gegoogelt, aber es wäre schön, z.B. in der Hilfe bei "About" einen entsprechenden Link zu finden. Und man wüsste, dass man bei Github den richtigen von 290 forks erwischt hat.
Ansonsten sammelt mein Raspi 1 gerade vergnügt Daten von zwei Spindeln ein. Er und ich sind sehr zufrieden.
Hallo Alex,mrhyde hat geschrieben: Freitag 10. Dezember 2021, 17:55 Die beiden Punkte sollten jetzt erledigt sein. In der aktualisierten Version ist auf der about page ein link zum github repo.
update.sh, bzw. update-raspi.sh sollten aber auch zu einem update führen. Allerdings ist es immer ratsam, ei Backkup der Daten / Settings per Webinterface durchzuführen.
Code: Alles auswählen
pi@iSpindle-Server:~/iSpindel-Srv $ python3 iSpindle.py
File "iSpindle.py", line 4
SyntaxError: Non-UTF-8 code starting with '\xe7' in file iSpindle.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
Danke,hobipivo hat geschrieben: Samstag 11. Dezember 2021, 09:14
bitte das Sonderzeichen in der Zeile 4 von iSpindle.py v3.4
François-Xavier
entfernen!
Code: Alles auswählen
pi@raspberrypi:~ $ sudo /usr/bin/python3 /usr/local/bin/iSpindle.py
Traceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 94, in <module>
with open(os.path.join(os.path.expanduser(config_path),'iSpindle_config.ini')) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/root/iSpindel-Srv/config/iSpindle_config.ini'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 97, in <module>
config.read_file(os.path.join(os.path.expanduser(config_path),'iSpindle_default.ini'))
File "/usr/lib/python3.7/configparser.py", line 717, in read_file
self._read(f, source)
File "/usr/lib/python3.7/configparser.py", line 1079, in _read
raise MissingSectionHeaderError(fpname, lineno, line)
configparser.MissingSectionHeaderError: File contains no section headers.
file: '<???>', line: 1
'/'
Code: Alles auswählen
pi@raspberrypi:~ $ sudo /usr/bin/python3 /usr/local/bin/iSpindle.py
Traceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 94, in <module>
with open(os.path.join(os.path.expanduser(config_path),'iSpindle_config.ini')) as f:
FileNotFoundError: [Errno 2] No such file or directory: '/root/iSpindel/iSpindel-Srv/config/iSpindle_config.ini'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 97, in <module>
config.read_file(os.path.join(os.path.expanduser(config_path),'iSpindle_default.ini'))
File "/usr/lib/python3.7/configparser.py", line 717, in read_file
self._read(f, source)
File "/usr/lib/python3.7/configparser.py", line 1079, in _read
raise MissingSectionHeaderError(fpname, lineno, line)
configparser.MissingSectionHeaderError: File contains no section headers.
file: '<???>', line: 1
'/'
There is nothing in the TCP server.MT_Keg hat geschrieben: Freitag 28. Januar 2022, 03:17 Is there a setting/configuration that can be changed to have the time on the diagram match the actual time identified in the "most recent data"?
Code: Alles auswählen
timedatectlYes, I am at the US east coast and am running Ubuntu 20.04.3 LTS.mrhyde hat geschrieben: Freitag 28. Januar 2022, 16:04 There is nothing in the TCP server.
What system are you using and what is the output ofAre you located somewhere at the US east coast?Code: Alles auswählen
timedatectl
Regards,
Alex
Code: Alles auswählen
timedatectl
Code: Alles auswählen
~$ timedatectl
Local time: Fri 2022-01-28 10:21:46 EST
Universal time: Fri 2022-01-28 15:21:46 UTC
RTC time: Fri 2022-01-28 15:21:46
Time zone: America/New_York (EST, -0500)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no That looks good so far.MT_Keg hat geschrieben: Freitag 28. Januar 2022, 16:28 Yes, I am at the US east coast and am running Ubuntu 20.04.3 LTS.
The output ofCode: Alles auswählen
timedatectl
is:Thank you for your help.Code: Alles auswählen
~$ timedatectl Local time: Fri 2022-01-28 10:21:46 EST Universal time: Fri 2022-01-28 15:21:46 UTC RTC time: Fri 2022-01-28 15:21:46 Time zone: America/New_York (EST, -0500) System clock synchronized: yes NTP service: active RTC in local TZ: no
MT
Alex,mrhyde hat geschrieben: Freitag 28. Januar 2022, 16:43 That looks good so far.
Is your database on the same system or on a different system?
Currently I also don't understand the diff between the table on the index page and the diagrams. But if I remember correctly, I've experienced a similar issue in the past.
Do you have phpmyadmin access to your database? if so, log in and have a look at the data table -> Timestamp. Are they correct?
EDIT:
Wait. What about your RTC. My system is running in an Ubuntu container. So no RTC. But your RTC is on UTC and not in the local TZ. This could be the issue.
Alex
Code: Alles auswählen
timedatectl set-local-rtc 1Code: Alles auswählen
timedatectl set-ntp trueCode: Alles auswählen
timedatectlCode: Alles auswählen
Local time: Fri 2022-01-28 21:18:14 EST
Universal time: Sat 2022-01-29 02:18:14 UTC
RTC time: Fri 2022-01-28 21:18:13
Time zone: America/New_York (EST, -0500)
System clock synchronized: yes
NTP service: active
RTC in local TZ: yes
Warning: The system is configured to read the RTC time in the local time zone.
This mode cannot be fully supported. It will create various problems
with time zone changes and daylight saving time adjustments. The RTC
time is never updated, it relies on external facilities to maintain it.
If at all possible, use RTC in UTC by calling
'timedatectl set-local-rtc 0'.I can't give you too much information on the container setup as I simply use the container station on my QNAP NAS. And it is running as container - not as dockerMT_Keg hat geschrieben: Samstag 29. Januar 2022, 03:41 My initial goal was to run this in a Ubuntu container. I had the system setup and running but I could not get the iSpindle to connect. Do you have a guide that shows how to setup the container to allow the iSpindle to connect. I could try that and see if it resolves the issue.
Code: Alles auswählen
python3 /usr/local/bin/iSpindle.py
Traceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 224, in <module>
LITTLEBOCK = int(get_config_from_sql('LITTLEBOCK', 'ENABLE_LITTLEBOCK'))
ValueError: invalid literal for int() with base 10: ''
pi@iSpindel:/$Code: Alles auswählen
01113,"temperature":17.75,"temp_units":"C","battery":4.233577,"gravity":13.88239
,"interval":900,"RSSI":-68}\r\n'
('172.17.0.1', 42430) Input Str is now:{"name":"iSpindel_Blue","ID":15580995,"an
gle":54.01113,"temperature":17.75,"temp_units":"C","battery":4.233577,"gravity":
13.88239,"interval":900,"RSSI":-68}
detected iSpindel
('172.17.0.1', 42430) Sent ACK.
('172.17.0.1', 42430) Time elapsed: 0.00788890104740858
('172.17.0.1', 42430) iSpindel_Blue (ID:15580995) : Data Transfer OK.
('172.17.0.1', 42430) - closed connection
Unhandled exception in thread started by <function handler at 0x7fbc652e1c80>
Traceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 475, in handler
LITTLEBOCK = int(get_config_from_sql('LITTLEBOCK', 'ENABLE_LITTLEBOCK',spind
le_name))
ValueError: invalid literal for int() with base 10: ''
^CTraceback (most recent call last):
File "/usr/local/bin/iSpindle.py", line 954, in <module>
main()
File "/usr/local/bin/iSpindle.py", line 948, in main
clientsock, addr = serversock.accept()
File "/usr/lib/python3.5/socket.py", line 195, in accept
fd, addr = self._accept() Sieht für mich danach aus, dass du die settings Datenbank nach dem update nicht aktualisiert hast.pentan hat geschrieben: Samstag 29. Januar 2022, 21:51 Hi,
ich hab vor dem Brautag heute den Server über die update.sh aktualisiert, jetzt lässt sich der TCP- Server nicht mehr starten:
Wenn ich die 3 Codezeilen für LITTLEBLOCK in der iSpindle.py auskommentiere startet der Server zwar und ich seh in der Konsole die Daten reinkommen, es wird aber nix in die Datenbank geschrieben:Code: Alles auswählen
python3 /usr/local/bin/iSpindle.py Traceback (most recent call last): File "/usr/local/bin/iSpindle.py", line 224, in <module> LITTLEBOCK = int(get_config_from_sql('LITTLEBOCK', 'ENABLE_LITTLEBOCK')) ValueError: invalid literal for int() with base 10: '' pi@iSpindel:/$
Das Ganze läuft auf einer Synology NAS als Docker- Container, bis jetzt (fast) problemlos. Hat eventuell wer eine Idee wo der Fehler liegt?Code: Alles auswählen
01113,"temperature":17.75,"temp_units":"C","battery":4.233577,"gravity":13.88239 ,"interval":900,"RSSI":-68}\r\n' ('172.17.0.1', 42430) Input Str is now:{"name":"iSpindel_Blue","ID":15580995,"an gle":54.01113,"temperature":17.75,"temp_units":"C","battery":4.233577,"gravity": 13.88239,"interval":900,"RSSI":-68} detected iSpindel ('172.17.0.1', 42430) Sent ACK. ('172.17.0.1', 42430) Time elapsed: 0.00788890104740858 ('172.17.0.1', 42430) iSpindel_Blue (ID:15580995) : Data Transfer OK. ('172.17.0.1', 42430) - closed connection Unhandled exception in thread started by <function handler at 0x7fbc652e1c80> Traceback (most recent call last): File "/usr/local/bin/iSpindle.py", line 475, in handler LITTLEBOCK = int(get_config_from_sql('LITTLEBOCK', 'ENABLE_LITTLEBOCK',spind le_name)) ValueError: invalid literal for int() with base 10: '' ^CTraceback (most recent call last): File "/usr/local/bin/iSpindle.py", line 954, in <module> main() File "/usr/local/bin/iSpindle.py", line 948, in main clientsock, addr = serversock.accept() File "/usr/lib/python3.5/socket.py", line 195, in accept fd, addr = self._accept()
Vielen Dank und schöne Grüße
Christian