New Image v1.1.2

Moin,

v1.1.2 Ist jetzt online! :partying_face:

▬▬▬
Neben den unten bereits aufgeführten Neuerungen des letzten BETA Updates ist noch folgendes hinzu gekommen:

Die Relays im Backend werden jetzt nur noch bei tatsächlichen Veränderungen geschaltet (vorher wurden sie alle 350ms abgefragt).

Time to go kann auf der Info Seite angezeigt werden (einzustellen unter Config > System).

Im Monitor kann man bei dem CPU Chart jetzt eine “overall” Anzeige sehen, das ist die durchschnittliche CPU Benutzung seit dem letzten Bootvorgang.

Die Baudrate für den MaxxFan ist jetzzt auf 115200 gestellt, zusätzlich kann man an USB4 eine individuelle Baudrate für Testzwecke einstellen.

Die Dimmerkanäle können (wie die Relays) über die digitalen Eingänge auf dem Board (TP1-TP6) gesteuert werden, sodass auch dafür physische Schalter und Taster verwendet werden können.

Für die Temperatursensoren (+ Dimmytemp Sensoren) kann ein Offset eingestellt werden, damit kann man nochmal händisch nachjustieren, falls man das Gefühl hat der Sensor zeigt nicht genau die richtige Temperatur an.

Wenn man auf “Shutting Down” drückt wird man gefragt ob man alle Relays, W-Relays und Dimmer ausschalten will. Falls ja, wird die HTTP-API (PUT /switchall/false) angesprochen und es wird alles ausgeschaltet.

Über neue Endpunkte (HTTP- und MQTT-API) können die Ventilation und die Heatingpower der Autoterm Heizung eingestellt werden. Die Wikiseite bei Github muss dahingehend noch erweitert werden.

Die Steuerung eines Warmwasserboilers mithilfe eines DS18B20 wurde realisiert.

Die Update Funktionen greifen ab jetzt auf unseren Github Kanal zu und nicht mehr auf unseren GitLab Server.

Für zukünftige Updates gibt es direkt im Update Menü Benachrichtigungen, damit man sieht ob das Update noch läuft und was aktuell passiert.

SuperVolt und FlyBat Batterien werden per Bluetooth unterstützt. Dazu hab ich die Bluetooth Scan Funktion etwas angepasst, manchmal wurde da als Ergebnis ein Buffer ausgegeben, sodass im Dropdown nur wirre Zahlen zu sehen waren.

Die .bin Dateien für ESP32 (Dimmy for VAN PI & Standalone) sind jetztt auf dem Image hinterlegt und können direkt vom RPI geflasht werden.

Ebenso ist die aktuelle .tft Datei für das Touchdisplay auf dem Image, man kann also die SD-Karte direkt benutzen um ein Update auf das Display zu laden. Die aktuelle Datei wird auch immer mit heruntergeladen, wenn man das Updatescript benutzt.


  • Falls man von einer Version 1.1.0 oder niedriger updaten möchte über die integrierte Update Funktion:

Zuerst einen neuen SSH-Key erstellen, um sicherzugehen, dass man Zugriff auf den RPI über SSH hat. Dafür greift man auf Node-RED zu und fügt irgendwo eine Inject-Node ein und verbindet diese mit einer Exec-Node. In die Exec-Node schreibt man den Befehl:

sudo rm /etc/ssh/ssh_host* && sudo ssh-keygen -A && sudo systemctl restart sshd

Dann übernehmen und einmal die Inject-Node triggern, damit der Befehl ausgeführt wird.

Danach kann man testen, ob man Zugriff per SSH hat. Hat man Zugriff, stellt man sicher dass sich im Ordner ~/pekaway (bzw. /home/pi/pekaway/) KEINE Dateien mit dem Name “packages.txt” und/oder “packages.json” befinden. Falls doch, müssen diese gelöscht werden.

Jetzt führt man das eigentlich Update aus, beim ersten mal werden die neuen Flows geladen (vom alten GitLab Server). Hat man diese und Node-RED hat sich neugestartet, führt man das Update nochmal durch. Die neuen Flows greifen auf ein Script zu, in dem alles zentral geregelt wird. Heißt, es werden dann auch alle restlichen neuen Dateien etc. mit geladen.

Das Update hat in den Tests immer zwischen 10-30min gedauert, also seid da geduldig.

oder man läd sich einfach das komplette Image neu, das ist natürlich auch eine Variante :smiley:

Wenn ihr Fragen habt ruft sie einfach! (Ich weiß, es wurden nicht alle Wünsche berücksichtigt, aber wenn ihr Vorschläge/Kritik/wasauchimmer für kommende Updates habt, immer her damit!).

Auf längere Sicht gesehen wäre es sicherlich auch mal sinnvoll ein Video zu erstellen, in dem einzelne Funktionen erklärt werden, also zum Beispiel wie genau das Updatescript funktioniert und was es eigentlich macht. Dann werden bestimmt einige Zusammenhänge auch für Nichtprogrammierer deutlicher.

Dafür haben wir bereits einen neuen Youtube-Kanal erstellt:
https://www.youtube.com/channel/UCgpwbehtlb9z-AtIuF-SEjA
Dort planen wir genau solche Videos zu veröffentlichen, also mehr erklären, mehr probieren, mehr drum herum und so weiter. Schauen wir mal was wird :slight_smile:


▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬


↓↓↓ -----------ALTES UPDATE (Juli 23)----------- ↓↓↓

Hey Leute,

Es steht ein neues BETA Image zum Download bereit: links.vanpi.de


Die Wifi-Firmware wurde wie in einem bereits vorhandenen Thread ersetzt, damit die Verbindungen für Wifi/Bluetooth stabiler laufen.

Für die HTTP-API sind ein paar Erweiterungen hinzugekommen.

Man kann jetzt seine konfigurierten Wifi-Netzwerke einsehen und ggf. löschen (Config > Wifi), funktioniert allerdings nur, wenn der Access Point ausgeschaltet ist. Zusätzlich kann man zwischen den Wifis wechseln (das garantiert aber nicht, dass nach einem Reboot wieder dieses Wifi automatisch ausgewählt ist)

Man kann jetzt zu versteckten SSIDs verbinden (Wifi manuell eintragen)

Wenn man den Access Point ändert wird überprüft, ob das Passwort zwischen 8 und 63 Zeichen lang ist.

Wenn man in der Config einen Van Namen eingibt, wird dieser in der Titelbar des Dashboards angezeigt.
Zum Ausschalten den Namen einfach wieder raus löschen (das Touchdisplay aktualisiert sich ja nur wenn es gleichzeitig aktiviert ist)
Die Charts im Monitor Tab wurden etwas angepasst und zeigen jetzt die folgenden Werte:

  • Temperaturen werden alle 60s gemessen, der Chart zeigt einen Durchschnittswert nach 15min (15 Werte)
  • Batterie SoC wird alle 60s gemessen, der Chart zeigt den niedrigsten Wert nach 5min (5 Werte)
  • Batterie Volt wird alle 60s gemessen, der Chart zeigt einen Durchschnittswert nach 3min (3 Werte)
  • Batterie AMP wird alle 60s gemessen, der Chart zeigt einen Durchschnittswert nach 3min (3 Werte)
  • CPU Nutzung wird alle 30s gemessen, der Chart zeigt den höchsten Wert nach 1,5min (3 Werte)
  • TTGO wird alle 60s gemessen , angezeigt wird der Durchschnittswert nach 5min (5 Werte), dabei werden die Minuten auf die nächste Viertelstunde gerundet.

Die Werte, die jeweils in den dazugehörigen Überschriften oberhalb der Charts stehen zeigen dabei immer den zuletzt gemessenen, also den aktuell genauen Wert!

Dazu ist auch noch eine Progressbar in der Entwicklung, damit man bei einem Update per Internet sieht wie weit der Prozess fortgeschritten ist. Das ist allerdings noch nicht in der BETA enthalten, kommt dann aber mit dem offiziellen Release.

Viel Spaß beim Ausprobieren! :slight_smile:


Full Changelog v1.1.2_BETA (19. July 2023)

  • changed wifi firmware to firmware-brcm80211_20190114-1+rpt4_all.deb to increase stability when bluetooth is used
  • changed the delay that checks if the second NR instance is running from 10s to 15s
  • added a function to switch between wifis and delete configured wifis (does not work in access point mode!)
  • added a function that shows the connected SSID when checking IP-address
  • added a function that checks if the configured wifi access point passphrase is between 8 and 63 characters
  • added http endpoint /reset_wifiAP/true to reset the access point
  • added http endpoint /network to show network info
  • added http endpoint /update_wifi_ap/:ssid/:wpa to update the wifi access point
  • added http endpoint /activate_wifi_ap/:input (:input has to be true or false) to de-/activate the wifi access point
  • added a sleep 1s function to the NonAPtoAP.sh script to compare old/new access point mode status (active/inactive, used in http endpoint /activate_wifi_ap)
  • added the possibility to use hidden networks when inserting wifi data manually
  • added a funtion that initialises the dropdown value for Main battdata
  • added a function to show the van name in the title bar
  • changed the charts in the Monitor tab for better visibility:
    > chart titles always show current values accordingly
    > temp charts now draw one point for every 15 incoming values (mean value)
    > SoC chart now draws one point for every 5 incoming values (lowest value seen)
    > Volt chart now draws one point for every 3 incoming values (mean value)
    > Amp chart now draws one point for every 3 incoming values (mean value)
    > CPU usage chart now draws one point for every 3 incoming values (highest value seen)
    > TTGO field now shows the mean value for every 5 incoming values and minutes are rounded to the nearest quarter hour (15min)
  • removed dimmer 8 from the switch schedulers (Dimmy supports only 7 dimmer channels)

EDIT: Der Access Point ist bei diesem Image standardmäßig inaktiv (huch). Es wird allerdings 30 Sekunden nachdem alles hochgefahren ist überprüft, ob eine IP-Adresse zugewiesen wurde (entweder per Wifi oder Netzwerkkabel). Also entweder habt ihr euren RPI am Kabel, dann könnt ihr ja darüber zugreifen, oder, falls das nicht der Fall ist, dann wird bei nicht vorhandener IP Adresse ein Neustart vollzogen und dabei wird der Access Point geöffnet. Dauert also ca. 1min länger dann, der erste Start des Images.

3 Likes

Hey,
ich versuche von Version 1.1.1 auf 1.1.2 zu updaten via online Update im Backend . Es wird mir angezeigt, dass eine neue Version verfügbar ist und ich kann das Update auch starten. Danach passiert augenscheinlich nichts. Selbst nach mehreren Stunden hat sich die Version nicht aktualisiert. Hab das nun schon mehrfach probiert.

Hat jemand eine Idee, wo das Problem liegen könnte?

Ich danke vielmals.
Heiko

Das gleiche Problem hab ich von 1.1.0 via online update

Moin Sebastian,

hast du die Hinweise von @Vincent in dem Post gelesen beim Update von Version 1.1.0 oder niedriger (SSH-Key erstellen etc.)? Hast du das ausprobiert?

Gruß
Heiko

Moin ihr beiden,

hab nochmal eine kleine Änderung am Updatescript vorgenommen und beide Versionen getestet, also v1.1.0 → v1.1.2 und v1.1.1 → v1.1.2, sind beide durchgegangen.

Hat von v1.1.0 ca. 20min gedauert, von v1.1.1 ca. 10min, die Zeiten können aber abweichen.
Es wird übrigens auch ein Updatelog erstellt unter /var/log/pekaway-update_yyyy_mm_dd-hh_mm.
Sobald da ganz unten “Step 9/9: restarting…” steht ist es durch.

Einmal wurde nämlich die Seite (das Dashboard) nicht automatisch aktualisiert und es kam keine Willkommensnachricht, dann kann man einfach manuell neu laden.

Bitte versucht es einfach jetzt nochmal.

Hallo @Vincent ,

super, nun hat das Update bei mir funktioniert :slight_smile:

Kannst du mir noch verraten, wieso die MCP Zuordnung nun wieder verschwunden ist? Hatte damals nach diese Anleitung MCP Input Zuordnung wird nicht angezeigt alles angepasst und nun nach dem Update ist es wieder verschwunden. Die Werte sind aber noch richtig konfiguriert.

@Heiko da ist mir ein ziemlich dummer Schreibfehler im Script unterlaufen…

Und zwar im Updatescript in Zeile 145:

input=&(jq ' . += {"dimmers":{"d1":false...

da wird die Variable input definiert, nur war da fälschlicherweise ein “&” bei input=&..., dadurch blieb die Variable leider leer, denn da muss ein $ hin, also input=$...

Und weil die Variable leer war, wird der Inhalt in den Dateien für die 6 mcpinputs gelöscht, wodurch wiederum auch nichts in NR mehr angezeigt wird.
Hab das Script nochmal angepasst, du hast jetzt zwei Möglichkeiten, bei beiden musst du aber die Inputs im Dashboard nochmal neu setzen:

  1. Du führst das Script einfach nochmal aus, alle mcpinputs sollten dadurch die Relays und zusätzlich die Dimmer wieder anzeigen. Dabei wird aber das komplette Script nochmal durchlaufen, dauert also wieder etwas.

  2. Du meldest dich per SSH an, erstellst dir eine mcpinput.sh (touch mcpinput.sh Datei und kopierst folgendes rein (nano mcpinput.sh):

#!/bin/bash

for i in {1..6}
do
	touch ~/pekaway/mcpinput"$i"
	touch ~/pekaway/mcpinput"$i"_type
	relays=$(cat < ~/pekaway/mcpinput"$i" |  jq 'has("relays")')
	dimmers=$(cat < ~/pekaway/mcpinput"$i" |  jq 'has("dimmers")')
	type=$(cat ~/pekaway/mcpinput"$i"_type)
	echo "Relays$i: $relays"
	echo "Dimmers$i: $dimmers"
	echo "Type$i: $type"
	if [[ "$type" != "switch" && "$type" != "button" ]]; then
		echo 'switch' > ~/pekaway/mcpinput"$i"_type
	fi
	if [[ "$relays" == "true" ]] 
	then
		if [[ "$dimmers" != "true" ]]; then	
		input=$(jq ' . += {"dimmers":{"d1":false,"d2":false,"d3":false,"d4":false,"d5":false,"d6":false,"d7":false}}' ~/pekaway/mcpinput"$i")
		echo "$input" > ~/pekaway/mcpinput"$i"
		fi
	elif [[ "$relays" != "true" ]]; then
		echo '{"relays":{"one":false,"two":false,"three":false,"four":false,"five":false,"six":false,"seven":false,"eight":false},"dimmers":{"d1":false,"d2":false,"d3":false,"d4":false,"d5":false,"d6":false,"d7":false}}' > ~/pekaway/mcpinput"$i"
	fi
done

Kopieren und dann mit Rechtsklick in die Datei einfügen, dann mit STRG+X den Editor verlassen und bestätigen, dass der Inhalt gespeichert werden soll.

Dann machst du die Datei ausführbar mit chmod +x mcpinput.sh und fürst diese aus mit bash mcpinput.sh.
Diese Variante geht deutlich schneller, braucht aber ein paar Klicks mehr. Im Prinzip machen beide das selbe.

Sorry für die Umstände :grimacing:

1 Like

N’abend Vincent,

es hat funktioniert! Ich habe einfach das Update nochmal gemacht, dadurch das Script neu geladen und den Fehler somit behoben. Cool, dass du auch gleich noch so eine ausführliche Erklärung mitgeliefert hast. Top!

1 Like