to linux or not ,that's my quest... | 5800X | 32GB 3800C15 | X570-Pro | 980 1TB | 7900XTX | PVoutput | Fiets
Ik gebruik geen SD kaartje meer in deze Pi maar een eMMC module van 64 GB. Wel op de SD poort. Daarvoor gebruikte ik de witte/rode Samsung. Ook 64 GB.raymondw schreef op zondag 19 februari 2023 @ 10:58:
Als de bestaande installatie je lief je zou je er voor kunnen kiezen een beter SD-kaartje te kopen.
Wissel je die om en start je een nieuw OS.
Met de deze site kun je alvast een nieuwe installatie configureren : https://pibakery.org/
Er zijn kwalitatief goeie SD-kaartjes beschikbaar die acceptabel zijn voor writes.
De witte Samsung Pro Plus kaartjes gaan hier al jaaaaren mee in een GPS logger.
De paarse variant is nog iets duurder, kwalitatief ook weer een stapje beter
De instructie op de link ga ik zeker lezen. Hoop dat snel de Pi4 8GB weer te koop komt. Dan opnieuw opbouwen en hopen dat ik data kan redden met backups van Domoticz, Influxdb en grafana.
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Het laatste geldt ook voor daemon.log. Op 19 feb om 00:01 is een nieuw log gestart. Sindsdien 0 stops en 0 meldingen dat geheugen allocatie niet is gelukt.rvk schreef op donderdag 16 februari 2023 @ 16:57:
[...]
Het is de interne statistieken tabel.
Als je die gebruikt dan moet die natuurlijk niet weg.
Maar bij mij liep ie wel weer daarna.
https://www.influxdata.co...base-to-monitor-influxdb/
Schijnbaar is dat ook heel veel informatie.
(Bij mij 272MB van de 1.5GB)
Overigens wordt die info toch na 168 uur weggegooid.
Draait nu op een paar uur na alweer drie dagen zonder fouten. Eigenlijk sinds ik influx handmatig heb gestopt en gestart. Ben benieuwd
[ Voor 3% gewijzigd door Copitano op 20-02-2023 13:56 ]
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
We hadden het toen over backup en restore van Grafana en Influx.
Omdat ik niet 1-2-3 wist wat de stappen waren heb ik daar net naar gekeken.
Zolang het 1 server is, kan de data gewoon over gekopieerd worden.
Nieuwere versies zouden geen probleem moeten hebben met de oude data.
Ook de dashboards die met bloed, zweet en tranen gemaakt zijn zouden gewoon behouden blijven.
Zoals altijd met dit soort dingen : backup, backup, backup!
Draait de unit al?
to linux or not ,that's my quest... | 5800X | 32GB 3800C15 | X570-Pro | 980 1TB | 7900XTX | PVoutput | Fiets
Draait nog niet. Heb geprobeerd de installer van PiBakery te downloaden, maar krijg een 404 fout. Vandaag nog eens proberen.raymondw schreef op dinsdag 21 februari 2023 @ 09:09:
Gisteren f2f met Copitano gesproken ivm een 8GB Pi4
We hadden het toen over backup en restore van Grafana en Influx.
Omdat ik niet 1-2-3 wist wat de stappen waren heb ik daar net naar gekeken.
Zolang het 1 server is, kan de data gewoon over gekopieerd worden.
Nieuwere versies zouden geen probleem moeten hebben met de oude data.
Ook de dashboards die met bloed, zweet en tranen gemaakt zijn zouden gewoon behouden blijven.
Zoals altijd met dit soort dingen : backup, backup, backup!
Draait de unit al?
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Daar zal Influx (en Copitano) heel erg blij mee zijnraymondw schreef op dinsdag 21 februari 2023 @ 09:09:
Gisteren f2f met Copitano gesproken ivm een 8GB Pi4
[...]
Draait de unit al?

Ik draai wel altijd een backup met de influx backup utillty zelf. Kopiëren is wel mogelijk met een live database maar als je corruptie krijgt dan helpt dat ook niet meer als er net met die corruptie en kopie gemaakt is.
In live situatie (wordt gelijk via scp gekopieerd naar een andere pi)
1
2
3
| influxd backup -portable /home/pi/backup.tmp scp /home/pi/backup.tmp/* pi@192.168.2.21:/home/pi/backup2/ rm /home/pi/backup.tmp -r |
Wel af en toe backup2 opschonen van oude backups maar dat kan ook automatisch.
Ook is het mogelijk om vanaf een andere server met influx een backup binnen te trekken:
1
| influxd backup -portable -host 203.0.113.0:8088 /path/to/backup-directory |
Of met de parameter -start alleen data vanaf een bepaalde data te backuppen (incremental)
1
| influxd backup -portable -start 2023-01-01T00:00:00Z /path/to/backup-directory |
Dat kan handig zijn bij grote databases.
Belangrijk is inderdaad goed na te denken over je backup strategie.
Edit:
Ik probeer net de -start maar die geeft toch niet helemaal de gewenste resultaten.
Ik weet dat er hele blocks gebackupped worden maar de -start vanaf 2023-01-01T00:00:00Z geeft bij mij dezelfde grootte als de hele database. De -since werkt wel goed (kleine backup) maar dat is een legacy switch die in de toekomst kan verdwijnen. Raar. Maar goed, een gehele backup is in mijn geval geen probleem.
[ Voor 13% gewijzigd door rvk op 21-02-2023 10:45 ]
raymondw schreef op zondag 19 februari 2023 @ 10:58:
Met de deze site kun je alvast een nieuwe installatie configureren : https://pibakery.org/
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/3XqY1LeRXYgKHovk0xpRYP20.jpg?f=user_large)
Zie dat ik niet de enige ben die tegen dit probleem aan loopt. Het lijkt ook al een oud probleem.
https://github.com/davidferguson/pibakery/issues/194
Via source installeren wordt voor mij nog een hele uitdaging. Ik kan de stap voor stap instructie instructie niet helemaal volgen. Kennenlijk bestaat de eerste versie van Pibakery niet meer en moet ik V2 in plaats daarvan gebruiken.
Voor versie V2 begrijp ik dat je dan toch eerst gewoon een SD kaartje moet maken met Rasbian daarop en vanaf daar verder. Dat betekent dan toch weer : monitor, toetsenboar en muis nodig ennn micro HDMI kabeltje voor de monitor. En die heb ik natuurlijk niet liggen

Of zie ik iets over het hoofd?
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Ik gebruik altijd deze https://www.raspberrypi.com/software/, bij Advanced Options kun je dan ook wifi en SSH configureren, en dan heb je geen scherm, toetesenbord en muis nodig.Copitano schreef op dinsdag 21 februari 2023 @ 13:52:
[...]
[Afbeelding]
Zie dat ik niet de enige ben die tegen dit probleem aan loopt. Het lijkt ook al een oud probleem.
https://github.com/davidferguson/pibakery/issues/194
Via source installeren wordt voor mij nog een hele uitdaging. Ik kan de stap voor stap instructie instructie niet helemaal volgen. Kennenlijk bestaat de eerste versie van Pibakery niet meer en moet ik V2 in plaats daarvan gebruiken.
Voor versie V2 begrijp ik dat je dan toch eerst gewoon een SD kaartje moet maken met Rasbian daarop en vanaf daar verder. Dat betekent dan toch weer : monitor, toetsenboar en muis nodig ennn micro HDMI kabeltje voor de monitor. En die heb ik natuurlijk niet liggen![]()
Of zie ik iets over het hoofd?
Gewoon de image via imager (van die download) schrijven met kant en klaar WiFi en SSH.
Wel kies ik altijd voor de Lite versie en installeer ik daarna via SSH alleen wat ik nodig heb.
Ik hou dit ook bij in een tekstbestand zodat ik bij een volgende installatie precies weet wat ik heb gedaan.
Ik heb deze gebruikt 64bit, dus met de influxdb zou het goed moeten komen.
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/09GpjVLP0ZM7fdvcPr8uF39A.jpg?f=user_large)
Domoticz, influxdb en grafana staan er op. De grootste uitdaging was het overzetten dvVents scripts en de database's van domoticz en influxdb en de dashboards van grafana. Achteraf was dat meer een kwestie van durven dan van moeilijk. Na jaren er omheen lopen onder het motto 'if it ain't broke don't fix it', moest ik nu wel. De RFXcom hangt er aan en is getest net als de converter waar de Kamstrup warmtemeter aan hangt. Mosquitto staat er weer op en de aansturen van de CVE is getest en werkt ook. Monit staat er nog niet op, maar dat zal ook wel lukken.
Veel van geleerd weer.
Iedereen die daaraan een bijdrage heeft gegeven veel dank
Het enige wat ik nog niet werkend gekregen heb is het python script voor de watermeter. Ook het alternatief, de plugin die daarvoor op GitHub staat werkt bij mij niet.
Bij het python script krijg ik deze foutmelding:
1
2
3
4
5
| pi@raspberrypi4:~ $ sudo python /home/pi/domoticz/scripts/watermeter.py File "/home/pi/domoticz/scripts/watermeter.py", line 61 print "JSON call = "+ str(url1) ^ SyntaxError: invalid syntax |
Daar kan ik dit over vinden. https://www.domoticz.com/forum/viewtopic.php?p=299030#p299030
Het lijkt er dus op dat python 3.* niet overweg kan met scrpts die gemaakt zijn met python 2. En dat lijkt hier het geval. Op de 3B+ draait zowel python 2.7 als python 3.7.
De plugin zou wel moeten werken met python 3, maar die lijkt bij mij niet op te starten. Er wordt niet automatisch een device aangemaakt en ook de bestaande wordt niet geüpdate. Het lijkt zelfs alsof de plugin helemaal niet wordt gestart.
Kan het zijn dat de 64bit hier nu juist roet in het eten gooit en belangrijker is dat op te lossen?
NB:
1
2
3
4
5
6
| OVER DOMOTICZ Version: 2023.1 Build Hash: f9b9ac774 Compile Date: 2023-02-14 15:06:40 dzVents Version: 3.1.8 Python Version: 3.9.2 (default, Feb 28 2021, 17:03:44) [GCC 10.2.1 20210110] |
[ Voor 4% gewijzigd door Copitano op 27-02-2023 21:13 ]
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Die "print spatie text" is inderdaad python2. Bij python3 is het "print(text)".Copitano schreef op maandag 27 februari 2023 @ 21:11:
Bij het python script krijg ik deze foutmelding:
code:
1 2 3 4 5 pi@raspberrypi4:~ $ sudo python /home/pi/domoticz/scripts/watermeter.py File "/home/pi/domoticz/scripts/watermeter.py", line 61 print "JSON call = "+ str(url1) ^ SyntaxError: invalid syntax
Het gaat er even om welke de standaard is.Op de 3B+ draait zowel python 2.7 als python 3.7.
Met python --version moet je dat kunnen zien.
Als de plugin echt "print spatie text" heeft dan zal die echt niet onder python3 werken.
Kijk even bovenin dat script /home/pi/domoticz/scripts/watermeter.py.
Als daar #!/usr/bin/python staat dan zal de default gepakt worden.
Je zou daar python2 of python3 van kunnen maken om de juiste versie te forceren.
(python2 in het geval van dat script voor python2 dus)
Het script is geschreven voor Python 2. Python 2 wordt niet meer onderhouden en is al 3 jaar niet meer bijgewerkt. Je kunt het nog wel draaien maar het zal steeds lastiger worden om werkend te houden. Ik raad je aan om het script te updaten naar Python 3.Copitano schreef op maandag 27 februari 2023 @ 21:11:
Het enige wat ik nog niet werkend gekregen heb is het python script voor de watermeter. Ook het alternatief, de plugin die daarvoor op GitHub staat werkt bij mij niet.
Bij het python script krijg ik deze foutmelding:
code:
1 2 3 4 5 pi@raspberrypi4:~ $ sudo python /home/pi/domoticz/scripts/watermeter.py File "/home/pi/domoticz/scripts/watermeter.py", line 61 print "JSON call = "+ str(url1) ^ SyntaxError: invalid syntax
Bij print voeg je haakjes toe, dus
1
| print "JSON call = "+ str(url1) |
wordt
1
| print("JSON call = "+ str(url1)) |
Je moet dit nog bij twee andere regels doen. Daarna krijg je een melding dat urllib2 niet bestaat. Dan vervang je "import urllib2" door "import requests" en
1
2
| req1 = urllib2.Request(url1) response1 = urllib2.urlopen(req1) |
door
1
| response1 = requests.get(url1).text |
Tot slot vervang je op twee plaatsen
1
2
| f = file(fn, "r+") f = open(fn) |
door
1
| f = open(fn, "r+") |
Ik ga er mee aan de slag. En als het werkt kunnen we daar ook veel posters hier blij maken denk ik
Op de 3B+ staat dit:
1
2
3
4
5
| pi@raspberrypi:~ $ python Python 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> |
Maar in domoticz dan weer dit:
1
2
3
4
5
| Version: 2022.2 Build Hash: eea9db734 Compile Date: 2022-11-05 13:05:35 dzVents Version: 3.1.8 Python Version: 3.7.3 (default, Oct 31 2022, 14:04:00) [GCC 8.3.0] |
Welke van beiden gebruikt wordt door de plugin is mij niet duidelijk, maar ik neem aan op de 3B+ versie 2.7.16 anders zou het script daar dus ook niet werken
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Ha, ok. Dan is je standaard wel python2 (ik heb overal alle python2's van mijn rpi's verwijderd).Copitano schreef op maandag 27 februari 2023 @ 21:45:
Welke van beiden gebruikt wordt door de plugin is mij niet duidelijk, maar ik neem aan op de 3B+ versie 2.7.16 anders zou het script daar dus ook niet werken
Maar domoticz schijnt dus niet de standaard te pakken maar expliciet python3.
En voor de plugins wordt dus ook 3 gebruikt (anders zou je die foutmeldingen niet krijgen).
Inderdaad lijkt me het aanpassen naar python3 het beste voor dat script.
Zeker als het maar op een beperkt aantal plaatsen is.
Als het een heel groot script zou zijn (of een compleet project) dan zou dat wat moeilijker zijn.
Die krijg ik dus niet op de 3B+ waar de watermeter ook netjes wordt geüpdate. Ik heb dat probleem alleen op de 4B+rvk schreef op maandag 27 februari 2023 @ 22:17:
[...]
Ha, ok. Dan is je standaard wel python2 (ik heb overal alle python2's van mijn rpi's verwijderd).
Maar domoticz schijnt dus niet de standaard te pakken maar expliciet python3.
En voor de plugins wordt dus ook 3 gebruikt (anders zou je die foutmeldingen niet krijgen).
@fopjuristHeb het zojuist aangepast en getesten na een reboot..Inderdaad lijkt me het aanpassen naar python3 het beste voor dat script.
Zeker als het maar op een beperkt aantal plaatsen is.
Als het een heel groot script zou zijn (of een compleet project) dan zou dat wat moeilijker zijn.
Krijg nu deze fout:
1
2
3
4
5
| pi@raspberrypi4:~ $ sudo python /home/pi/domoticz/scripts/watermeter.py File "/home/pi/domoticz/scripts/watermeter.py", line 4 import import requests ^ SyntaxError: invalid syntax |
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| #!/usr/bin/python import RPi.GPIO as GPIO import time import requests import os #Watermeter stand (wordt alleen initeel gebruikt als er geen bestand meterstand_water.txt is) global Counter Counter = 0 #Domoticz URL domoticz_url = "http://192.XXX.XX.XXX:8080" #Domoticz IDX van de water sensor (RFXMeter) idx = 318 #Open meterstand.txt file en lees meterstand #Als meterstand.txt niet aanwezig is maakt script bestand aan en vult de meterstand fn = "/home/pi/domoticz/scripts/meterstand_water.txt" if os.path.exists(fn): f = open(fn, "r+") inhoud = f.readline() a,b,c = inhoud.split() Counter = int(c) else: f = open(fn, "w") f.write( 'meterstand = ' + repr(Counter)) f.close() #Board is pin nr, BMC is GPIO nr #Read output from water meter op pin 40 GPIO.setmode(GPIO.BOARD) # Set GPIO 21 (Pin 40) als Input aditioneel als Pullup-Weerstand aktiveren GPIO.setup(40, GPIO.IN, pull_up_down = GPIO.PUD_DOWN) #Functie callback #Dit is de functie die aangeroepen wordt in de interrupt def Interrupt(channel): print('Callback function called!') time.sleep(0.05) # need to filter out the false positive of some power fluctuation if GPIO.input(40) == 0: print('quitting event handler because this was probably a false positive') return #Teller elke interrupt uitlezen en met 0.5 liter verhogen (deler watermeter op 10 zetten) f = open(fn, "r+") inhoud = f.readline() a,b,c = inhoud.split() Counter = int(c) Counter = Counter + 1 f.close() #Schrijf meterstand naar bestand f = open( fn, 'w') f.write( 'meterstand = ' + repr(Counter)) f.close() #Send counter to domoticz JSON url1 = domoticz_url+'/json.htm?type=command¶m=udevice&idx='+str(idx)+'&svalue='+str(Counter) response1 = requests.get(url1).text #Voor debug => print voorbeeld van de JSON aanroep en/of de counter print ("JSON call = "+ str(url1)) print ("Watermeter Counter = " + str(Counter)) #Interrupt-Event toevoegen, sensor geeft een 0 en en bij detectie een 1 #Bij detectie een 1 daarom check stijgende interrupt. GPIO.add_event_detect(40, GPIO.RISING, callback = Interrupt, bouncetime = 200) try: while True: time.sleep(0.2) except KeyboardInterrupt: GPIO.cleanup() print ("\nBye") |
EDIT: Op regel 5 stond een dubbele import. Die is er nu met dank aan @fopjurist en @rvk uitgehaald. Voor wie er iets aan heeft: het script werkt bij mij nu met python 3.9 en Domoticz 2023.1 op een 64bits (Bullseye) geïnstallerde Pi4B+ zoals ik dat gewend was onder python 2.7 op de oude 32 bits Pi3B+.
[ Voor 5% gewijzigd door Copitano op 28-02-2023 17:57 ]
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Wel 1x import gebruiken.Copitano schreef op maandag 27 februari 2023 @ 22:39:
Dit is nu het hele script:
code:
1 2 3 4 #!/usr/bin/python import RPi.GPIO as GPIO import time import import requests
Tevens vraag ik me af of die #!/usr/bin/python nu dan goed is (omdat python2 de standaard is).
Stond die regel ook in het originele script?
Ja, daar heb ik niets aan veranderd. Daar stond ook 4x importrvk schreef op maandag 27 februari 2023 @ 22:58:
[...]
Wel 1x import gebruiken.
Tevens vraag ik me af of die #!/usr/bin/python nu dan goed is (omdat python2 de standaard is).
Stond die regel ook in het originele script?
1
2
3
4
5
| #!/usr/bin/python import RPi.GPIO as GPIO import time import urllib2 import os |
Dit was het origineel
Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
"import import requests" moet "import requests" zijn.Copitano schreef op maandag 27 februari 2023 @ 23:29:
[...]
Ja, daar heb ik niets aan veranderd. Daar stond ook 4x import
code:
1 2 3 4 5 #!/usr/bin/python import RPi.GPIO as GPIO import time import urllib2 import os
Dit was het origineel
fopjurist schreef op maandag 27 februari 2023 @ 23:46:
[...]
"import import requests" moet "import requests" zijn.

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp
Heel even was er leven, maar ik ben schijnbaar verdronken in een vloedgolf water.fopjurist schreef op maandag 27 februari 2023 @ 23:46:
[...]
"import import requests" moet "import requests" zijn.
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/LU4YFgX14OiIKNt0v1QbtdkA.jpg?f=user_large)
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/WjkT1b5c7kZ5NF3x2YQan8tQ.jpg?f=user_large)
:strip_exif()/f/image/TvWiG8iwpM26vvoEGLw20yvB.jpg?f=fotoalbum_large)
In de file is 13 liter bijgeteld.
Held!!!
:no_upscale():strip_icc():fill(white):strip_exif()/f/image/nrPnm9EgxmSPSV7Q9Rytd4J2.jpg?f=user_large)
Heb net nog even een stuk ijzer onder de sensor doorgehaald en voilà

Het lijkt te werken laatste hindernis geslecht

Elga | Valliant eco TEC plus VHR 30-34/5-5L | Kamstrup 602 |Nodo OTGW | Raspberry Pi 3B+/4B+|RFXcom rfxtrx433xl | UniFi netwerk | PVoutput 8.625 kWp