läuft: (Geekworm Raspi UPS HAT Board v1.0) RasPi USV

Begonnen von Frank_Huber, 09 Januar 2018, 14:49:39

Vorheriges Thema - Nächstes Thema

Frank_Huber

Hallo allerseits,

nachdem ich ein paar Tage experimentieren musste bis die Geekworm USV schön mit FHEM zusammengespielt hat will ich den Code natürlich gerne mit euch teilen.

Es geht um diese Raspberry USV:
https://www.banggood.com/Geekworm-UPS-HAT-Board-2500mAh-Lithium-Battery-For-Raspberry-Pi-3-Model-B-Pi-2B-B-A-p-1105260.html
Geliefert wird die Platine samt 2500mAh Akku zu einem Preis von ca 15 Euro inkl Versand.
Diese hält mein Testsystem um die 6 Stunden am Rennen.

Einen Shutdown erreiche ich über DOIF, über den darauf folgenden Boot Up mach ich mir keine Gedanken, da es wohl eher selten mehr als 6 Stunden Stromausfall geben wird. :-)
Und wenn dann doch muss ich eben am UPS board 2x den Taster drücken...

Hinweis:
Den Code (abgesehen von der myUtils) bitte über raw config importieren!

Kommunizieren tut das ganze über I2C. I2C sollte also in FHEM eingerichtet sein.
Hier am Beispiel für den RPI2:
defmod I2C RPII2C 1

Damit können wir jetzt schon per manuellem Kommando die USV abfragen.
Abrufbare Werte sind "nur" der Ladestand in % und die Spannung in V.
gelöst habe ich dies mit einem Dummy und Userreadings. Es ist bestimmt noch nicht perfekt und würde sich bestimmt auch vereinfachen lassen.
Aber es funktioniert. :-) Meine Programmierkenntnisse waren damit erschöpft.

zuerst in die 99_myUtils.pm folgendes eintragen:
sub i2c_USV_Batt_Voltage()
{
my @parts = split(/ /,fhem "get I2C read 36 2 2",1);
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])*0.000078125 : return "9999";
}

sub i2c_USV_Batt_Percent()
{
my @parts = split(/ /,fhem "get I2C read 36 4 2",1);
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])/256 : return "9999";
}


Der Dummy dazu:
defmod I2C_USV dummy
attr I2C_USV DbLogExclude V_direct,P_direct,state
attr I2C_USV DbLogInclude Voltage,Percent,Trend
attr I2C_USV room USV
attr I2C_USV stateFormat Battery: Percent % | Voltage V\
Ladung/Entladung letzte 10min: Trend %
attr I2C_USV userReadings V_direct {i2c_USV_Batt_Voltage},\
P_direct {i2c_USV_Batt_Percent},\
Voltage {sprintf("%.2f", ReadingsVal("I2C_USV","V_direct",0))},\
Percent {sprintf("%.1f", ReadingsVal("I2C_USV","P_direct",0))},\
Trend difference {ReadingsVal("I2C_USV","Percent",0)}

Das logging kann auch wieder raus.
Also dann DbLogExclude .* und den Include löschen.
Die hab ich zur Analyse noch drin. musste ja irgendwie sehen wie schnell der sich entläd und wieder läd... :-)

Aktuelisierung beim Systemstart per notify:
defmod USV_state_at_bootup notify global:INITIALIZED set I2C_USV get
attr USV_state_at_bootup room USV


Zyklische Aktualisierung alle 10 Minuten:
defmod I2C_USV_get at +*00:10:00 set I2C_USV get
attr I2C_USV_get DbLogExclude .*
attr I2C_USV_get room USV


Ein DOIF welches mir regelmäßig Telegram schickt und das System bei 2% herunterfährt:
Laden / Entladen wird über den Trend überwacht. Deshalb die Datenabfrage der USV auch nur alle 10 Minuten. Der % Unterschied wird sonst zu gering.
defmod I2C_USV_DOIF DOIF ([I2C_USV:Trend] <= -2 and [I2C_USV:Percent] <= 90 and [I2C_USV:Percent] > 2) (set TelegramBot message Test-PI auf USV-Strom! Ladestand [I2C_USV:Percent] %)\
DOELSEIF ([I2C_USV:Percent] <= 2) (set TelegramBot message Test-PI USV unter 2 Prozent. System wird heruntergefahren!) (sysshutdown)\
DOELSEIF ([I2C_USV:Trend] >= 2 and [I2C_USV:Percent] < 94)  (set TelegramBot message Test-PI hat wieder Netzstrom. Ladestand [I2C_USV:Percent] %)\
DOELSEIF ([I2C_USV:Percent] >= 94) (set TelegramBot message Test-PI USV voll geladen. Ladestand [I2C_USV:Percent] %)
attr I2C_USV_DOIF DbLogExclude .*
attr I2C_USV_DOIF repeatcmd 2400::1800:
attr I2C_USV_DOIF room USV


Der Systemshutdown muss allerdings erst eingerichtet werden. Hier half mir Otto's Blog, Danke Otto!
auf Raspbian Ebene folgenden Code ausführen:
sudo -i
echo "fhem ALL=(ALL) NOPASSWD: /sbin/shutdown" >/etc/sudoers.d/011_fhem-nopasswd
chmod 0440 /etc/sudoers.d/011_fhem-nopasswd

Dann in FHEM einen cmdAlias einrichten:
defmod Alias_SystemShutdown cmdalias SysShutdown AS "sudo /sbin/shutdown"
attr Alias_SystemShutdown DbLogExclude .*
attr Alias_SystemShutdown room USV


Mein Plot zum testen,
FHEM device:
defmod Plot_I2C_USV SVG logdb:Plot_I2C_USV:HISTORY
attr Plot_I2C_USV DbLogExclude .*
attr Plot_I2C_USV captionPos auto
attr Plot_I2C_USV endPlotNow 1
attr Plot_I2C_USV endPlotToday 1
attr Plot_I2C_USV label "USV-Akku - Ladestand $data{currval2} %, Spannung $data{currval1}V DC"
attr Plot_I2C_USV plotsize 800,200
attr Plot_I2C_USV room USV

gplot file:
# Created by FHEM/98_SVG.pm, 2018-01-03 00:26:38
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title '<L1>'
set ytics
set y2tics
set grid y2tics
set ylabel "Spannung"
set y2label "Prozent"
set yrange [3.5:4.2]
set y2range [0:100]

#logdb I2C_USV:Voltage::
#logdb I2C_USV:Percent::

plot "<IN>" using 1:2 axes x1y1 title 'Spannung' ls l2 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Prozent' ls l0 lw 1 with lines


Im Anhang noch ein Screenshot des FHEM Raums.

Wenn es Fragen gibt lasst es mich hier wissen, Vrbesserungen sind ebenfalls Willkommen. :-)

Quellen:
https://www.banggood.com/Geekworm-UPS-HAT-Board-2500mAh-Lithium-Battery-For-Raspberry-Pi-3-Model-B-Pi-2B-B-A-p-1105260.html
http://www.raspberrypiwiki.com/index.php/Raspi_UPS_HAT_Board
http://www.raspberrypiwiki.com/index.php/File:How-to-use-via-i2c.pdf
http://heinz-otto.blogspot.de/2017/08/raspberry-ausschalten-mit-fhem.html

EDIT:
- 2018-03-08 Korrektur für die myUtils: das Logging ausgeschaltet. https://forum.fhem.de/index.php?topic=85480
- 2018-03-07 Korrektur der Schritte auf Raspbian, "sudo -i" eingefügt.

FFHEM

Tolle Arbeit, vielen Dank!
Da ich z. Zt. etwas Ähnliches suche, ist das sehr interessant.

Eine Frage bzgl. des Neustarts habe ich dennoch: Du schreibst, wenn der Spannungsausfall länger als 6 Std. dauert, drückst Du auf dem Board 2 x einen Taster.
Heißt das, dass der Raspi, wenn er einmal heruntergefahren ist, nicht mehr selbst hochfährt (egal, ob dabei der Akku nach mehr als 6 Stunden leer ist oder die Netzspannung nach 5 Minuten wieder da ist)?

Vielen Dank!
Gruß
Friedhelm
Raspberry Pi 4B, Homematic, Sonoff, Shelly, Worx, Arduino, ESP8266

Frank_Huber

Hi Friedhelm,

Ja, das ist so. nach ca 6 Stunden fährt der Pi bei 2% runter.
Irgendwann dannach schaltet dann auch die USV aus.

Vorgehensweise wenn usv noch an:
-> Taster an USV drücken -> AUS -> Taster an USV drücken -> AN -> PI fährt hoch.

man kann aber über größere Akkus auch weit höhere Zeiten erreichen.
die USV gibt es auch ohne Akku für paar Euro weniger.
Ein beliebiger Lithium Akku mit 3,7V Nennspannung tut es.

Man könnte bestimmt mit entsprechendem Aufwand den PI wieder starten lassen.
im "GANZ AUS" Fall würde wohl ein Y-Kabel in der Stromversorgung reichen.

Wenn aber der PI noch an ist wird es schwierig ihn zu starten.

Grüße
Frank

Foxm66

Hi,
habe gerade etliche Zeit verbracht, meine USV zu integrieren.
Läuft aber über ein Python Skript.
(http://www.linuxblognf.de/usv-fuer-den-raspberry-pi-mit-raspi-ups-hat/)
Fährt auch mittlerweile sauber runter bei 10%.
Aber!
Ich habe ein Y Kabel. Lt. Hersteller soll er selber wieder hochfahren. Funktioniert aber nicht.
Ich muss erst das RPI Kabel abziehen. Dann warten, bis die USV auf laden umschaltet . Dann fährt der RPI wieder hoch. (evtl. den Taster 1x drücken)
Kabel anstecken. Fertig.
Wahrscheinlich ist das Y Kabel überflüssig.
... aber es ist schon so - wann ist die Spannung mal so weg, das es länger als 6 h dauert. Zu dem Schluss bin ich auch gekommen.
Eigentlich reicht es, das USV anzustecken. Fertig.

VG

Tilo

Frank_Huber

Zitat von: Foxm66 am 23 Februar 2018, 09:29:33
Hi,
habe gerade etliche Zeit verbracht, meine USV zu integrieren.
Läuft aber über ein Python Skript.
(http://www.linuxblognf.de/usv-fuer-den-raspberry-pi-mit-raspi-ups-hat/)
Fährt auch mittlerweile sauber runter bei 10%.
Aber!
Ich habe ein Y Kabel. Lt. Hersteller soll er selber wieder hochfahren. Funktioniert aber nicht.
Ich muss erst das RPI Kabel abziehen. Dann warten, bis die USV auf laden umschaltet . Dann fährt der RPI wieder hoch. (evtl. den Taster 1x drücken)
Kabel anstecken. Fertig.
Wahrscheinlich ist das Y Kabel überflüssig.
... aber es ist schon so - wann ist die Spannung mal so weg, das es länger als 6 h dauert. Zu dem Schluss bin ich auch gekommen.
Eigentlich reicht es, das USV anzustecken. Fertig.

Hi Tilo,

Du könntest ihn später runterfahren lassen. So dass kurz nach dem Shutdown auch die USV leer ist und der PI aus geht.
Dann fährt er auch wieder hoch wenn die Spannung zurück ist.

Aber wie Du es ja auch schreibst, wann ist denn schon der Strom so lange weg...

/Frank

Ralph

läuft - bei mir leider nicht so gut.

Hallo Frank,
habe versucht Dir zu folgen.
Ich brauche nicht wirklich alles, aber bei mir scheiterts schon am Anfang.


Internals:
   CFGFN     
   NAME       I2C_USV
   NR         548
   STATE      Battery: Percent % | Voltage V Ladung/Entladung letzte 10min: Trend %
   TYPE       dummy
   READINGS:
     2018-03-03 18:23:18   P_direct        95.37109375
     2018-03-03 18:23:18   V_direct        4.156171875
     2018-03-03 18:23:18   state           get
Attributes:
   room       BinDa,U_USV_RasPi
   stateFormat Battery: Percent % | Voltage V Ladung/Entladung letzte 10min: Trend %
   userReadings V_direct {i2c_USV_Batt_Voltage},P_direct {i2c_USV_Batt_Percent},\
Voltage {sprintf("%.2f", ReadingsVal("I2C_USV","V_direct",0))},\
Percent {sprintf("%.1f", ReadingsVal("I2C_USV","P_direct",0))},\
Trend difference {ReadingsVal("I2C_USV","Percent",0)}

Hier hatte ich erhofft, dass die Volt und der %uale Ladezustand im state gezeigtr werden.
Ist aber nicht und ich weiß nicht warum ?

Die DOIF meldet beim Einrichten schon Fehler:
-------
I2C_USV_DOIF DOIF: expected DOELSEIF or DOELSE: \ DOELSEIF ([I2C_USV:Percent] <= 2) (set TelegramBot message Test-PI USV unter 2 Prozent. System wird heruntergefahren!) (sysshutdown)\ DOELSEIF ([I2C_USV:Trend] >= 2 and [I2C_USV:Percent] < 94)  (set TelegramBot message Test-PI hat wieder Netzstrom. Ladestand [I2C_USV:Percent] %)\ DOELSEIF ([I2C_USV:Percent] >= 94) (set TelegramBot message Test-PI USV voll geladen. Ladestand [I2C_USV:Percent] %)
--------

Den Rest habe ich mir dann erstmal verkniffen.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Frank_Huber

#6
Dir fehlt noch das at zur zyklischen Aktualisierung.
Bei Aktualisierung werden dann die userReadings berechnet und erzeugt.

Das doif muss ich mir nachher am PC anschauen.
Melde mich dann nochmal.

Hast du das doif über raw config importiert, zeilenweise über die Befehlszeile oder direkt in die cfg?

Wenn du den Code in der raw config importierst sollte er problemlos reinrutschen.

Edit
Mit dem dummy kann auch ein Import Fehler passiert sein.
Lade am besten die Codes über raw config rein, so hab ich sie auch exportiert.

Werde ich oben im Text noch ergänzen.


Grüße
Frank

Ralph

#7
Ich arbeite - weil unbedarft - über die Befehlszeile und ergänze dann.

Das at und das start-notify hatte ich schon.

Editor ist Ultra-Edit, der spricht auch Linux-Zeilenschaltungen.

Von raw config höre ich nun erstmalig, mal schauen.
Nachtisch:
Kannte ich nicht, funktioniert gut, nun ging darüber auch die DOIF einzurichten.
Geht nun auch fast alles, die Plots habe ich mangels DB nicht eingerichtet.

Nicht funktionieren tut:
echo "fhem ALL=(ALL) NOPASSWD: /sbin/shutdown" >/etc/sudoers.d/011_fhem-nopasswd
chmod 0440 /etc/sudoers.d/011_fhem-nopasswd

FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Frank_Huber

#8
In jedem Gerät gibt es ganz unten einen link für raw config.
Öffne ihn in einem beliebigen Gerät und füge dort den Code ein und drücke execute commands.
Lösche am besten die Geräte der usv vorher nochmal.

Für die Befehlszeile müsstest du die Zeilenumbrüche rausnehmen.
Also alles von define bis attr in eine Zeile.
Jeweils den backslash (\) und den Zeilenumbruch raus.

Anfangs kannte ich die raw config auch nicht, mittlerweile möchte ich es nicht mehr missen. Gibt nichts einfacheres.
Kannst das ganze Gerät samt Attribute auf einen Rutsch rein importieren.

Mit dem Handy online, daher kurz gefasst...

Frank_Huber



Zitat von: Ralph am 03 März 2018, 20:27:10
Nicht funktionieren tut:
echo "fhem ALL=(ALL) NOPASSWD: /sbin/shutdown" >/etc/sudoers.d/011_fhem-nopasswd
chmod 0440 /etc/sudoers.d/011_fhem-nopasswd
Das sind Eingaben auf der system shell.
Also per ssh auf den RasPi und dort eingeben.


Mit dem Handy online, daher kurz gefasst...


Ralph

Moin, ja klar,
weiß ich doch.
Ebendort gehts nicht.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Tom_S

ZitatMoin, ja klar,
weiß ich doch.
Ebendort gehts nicht.

geht schon. Kommt eine Fehlermeldung? vielleicht "keine Berechtigung"?
bist du root?

LG Tom_S
RaspberryPI2 + pilight, 3x AVR-NetIO, LW12, LW12HX, LW12FC; MAX-Lan, ESP8266, Arduino, H801, Neopixel, Solaredge, Modbus

Frank_Huber

#12
Zitat von: Tom_S am 07 März 2018, 11:49:15
geht schon. Kommt eine Fehlermeldung? vielleicht "keine Berechtigung"?
bist du root?
Danke für den Hinweis, hab das "sudo " oben eingefügt. ixch arbeite in der Konsole immer mit "sudo -i". :-)


Zitat von: Ralph am 05 März 2018, 20:07:14
Moin, ja klar,
weiß ich doch.
Ebendort gehts nicht.
Ralph, die Konsole muss im Admin Modus sein.
Also sudo -i zuerst und dann die Befehle, oder ein "sudo " vor jeden Befehl setzen.
Eine klare Fehlermeldung hätte uns da bestimmt früher drauf gebracht. :-)

Und sorry dass ich erst heute antworte. Hab deinen Post leider übersehen.

Tom_S

#13
Zitat
Also sudo -i zuerst und dann die Befehle, oder ein "sudo " vor jeden Befehl setzen

hallo Frank_Huber
ist nicht ganz richtig. Die sudosers darf nur root schreiben. Mit sudo bekommst du nur root Rechte.

oder ein "sudo " vor jeden Befehl setzen
wird also nicht funktionieren.

sudo -i
dagegen schon

LG Tom_S
RaspberryPI2 + pilight, 3x AVR-NetIO, LW12, LW12HX, LW12FC; MAX-Lan, ESP8266, Arduino, H801, Neopixel, Solaredge, Modbus

Frank_Huber

#14
Zitat von: Tom_S am 07 März 2018, 17:49:55
hallo Frank_Huber
ist nicht ganz richtig. Die sudosers darf nur root schreiben. Mit sudo bekommst du nur root Rechte.

oder ein "sudo " vor jeden Befehl setzen
wird also nicht funktionieren.

sudo -i
dagegen schon

LG Tom_S
Hmmmm,

Ich dachte immer sudo - i macht das gleiche wie sudo vor dem Befehl, nur dauerhaft?
Werd ich auf jeden Fall testen. :-)
Danke für den sudo Kurs falls das stimmt. [emoji482]

Edit:

Recht hatter!
Geht nur mit sudo -i vorab.
Habs im ersten Post schon angepasst.

Danke nochmal Tom!

Ralph

#15
Moin,
habe hier noch einen Nachtisch zum Obigen.

Das ist zwar hier eigentlich kein Hartwaren-Strang, aber ich platze das mal hier, damit der Zusammenhang bleibt.

Habe einen ausgetüftelten Schaltplan für das Teil gefunden und zwar hier:

https://brousant.nl/jm3/elektronica/104-geekworm-ups-for-raspberry-pi

Darin wird auch auf Modifikationen verwiesen (von mir ungetestet).

In dem Schaltplan habe ich bei mir R8 und R9 jeweils gegen 10k und den R5 gegen 18k ausgetauscht
und damit die Festbeleuchtung minimiert.

Über die R1-Modifikation denke ich noch nach.

Hinweis:
Die löcher auf der der Platine sind KEIN potentialfreies Lochraster, sondern zur Masse kontaktiert.
Diese Erkenntnis hat mich einen Q1 gekostet, das wollte ich Euch ersparen.

Möge es wem helfen.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Frank_Huber

#16
Zitat von: Ralph am 09 März 2018, 21:43:48
Möge es wem helfen.
Danke für den Link. Passt ganz gut hier rein denke ich.

Zum dimmen der LEDs war ich etwas pragmatischer, hab Panzertape drüber geklebt.

In einem punkt ist die Webseite falsch, oder basiert auf einer älteren Revision.
Zitat
Another issue with the UPS HAT board is that, when external power is lost and returns, the board will not resume charging the battery. The only way to get it charging again is to press the button, which also switches off the Pi! So, even after a short blackout, the battery will stop being recharged, and on subsequent blackouts the battery will be further drained, until it is empty.
Wenn Strom weg war und wieder kommt wird der Akku geladen.
Man muss NICHT aus und wieder anschalten wie beschrieben.

Mit dem Handy online, daher kurz gefasst...

Tom_S

@Ralph

wo sie es nur immer finden. Danach habe ich schon lange gesucht. Vielen Dank.
und der Hinweis
ZitatDie löcher auf der der Platine sind KEIN potentialfreies Lochraster, sondern zur Masse kontaktiert.
kam leider zu spät.

LG
RaspberryPI2 + pilight, 3x AVR-NetIO, LW12, LW12HX, LW12FC; MAX-Lan, ESP8266, Arduino, H801, Neopixel, Solaredge, Modbus

drcyber

Ich habe mir auch die USV gekauft, und sie läuft auch , aber ich komme bei weitem nicht auf 6h bei mir ist nach 2,5h schluß, ist mein Akku defekt oder wird der erst nach ein paar mal aufladen besser?

Irgendwo hab ich gelesen dass die USV die Batterie erst "kennenlernen" muss und dazulernt.
muss man dafür irgenwas machen oder ist das sowieso Blödsinn?

Normalerweise sollte ich mit 2,5h auch locker auskommen aber es wundert mich halt dass ihr da laufzeiten von 6h erreicht. Oder habt ihr einen stärkeren Akku drangehängt?
Raspberry Pi 3 mit 2x nanoCUL - Jeelink- LGW

Ralph

Zitat von: drcyber am 16 März 2018, 20:26:17
... bei mir ist nach 2,5h schluß

Tröste Dich, bei mir auch.

Man muss bedenken, dass bei FHEM und zahlreichen Hintergrundjobs ja auch etwas mehr Energie gebraucht wird.

Das mit dem "Akku-Anlernen" ist am Anfang z. T. richtig, Wunder sollte man aber auch hier eher nicht erwarten.
FHEM auf RaspberryPi3 mit Geekworm USV und SignalDUINO 433MHz und HM-MOD-RPI-PCB mit 3 HM-Sec-SD-2, 5 FHT, 2 RM 100-2 Uni S, 2 HMS100, 6 CUL_WS, 6 CUL_FHTTK, 11 FS20 und 7 FS20V Spannungsüberwachungen

Frank_Huber

Bei mir läuft auf RasPi 2 nur fhem. Keine andere last, kein Bildschirm.
Die Test Instanz kommt auf 6 Std.
Die produktiven auf ca 4 bis 5.

Akku anlernen ist einfach laden / leerlaufen lassen / laden / leerlaufen lassen /......

Mit dem Handy online, daher kurz gefasst...


drcyber

ich hab ihn jetzt einmal komplett leer laufen lassen, aber ist das nicht kontraproduktiv fürs Filesystem?

Raspberry Pi 3 mit 2x nanoCUL - Jeelink- LGW

Frank_Huber

Zitat von: drcyber am 17 März 2018, 10:29:59
ich hab ihn jetzt einmal komplett leer laufen lassen, aber ist das nicht kontraproduktiv fürs Filesystem?
Wenn du alles wie oben eingerichtet hast fährt er bei 2 Prozent Akku runter.
Musst natürlich schon kucken dass das Betriebssystem aus ist wenn der Akku leer läuft.

Mit dem Handy online, daher kurz gefasst...



arallon

Hat zufällig einer ein Gehäuse wo das zusammen mit der USV Platz hat?

rabehd

#25
ZitatHat zufällig einer ein Gehäuse wo das zusammen mit der USV Platz hat?

https://www.ebay.de/itm/Raspberry-Pi-Case-Gehause-fur-Rpi-und-Busware-CC1101-Transceiver-V2-/112235137665?var=&hash=item0

Könnte passen, nur gerade nicht im Angebot.

Direkt schon.
https://www.comprise.de/raspberry-pi-case/a-10048/
Auch funktionierende Lösungen kann man hinterfragen.


Nighthawk

Hallo Zusammen,

als erstes ein Danke an Frank für das Teilen der Infos!

Ich habe die Geekworm UPS HAT v1.1 bei mir im Betrieb, diese bedarf einer kleiner Anpassungen in der 99_myUtils.pm da die I2C Adresse und auch der Multiplikator sich geändert haben.

Hier meine sub:

#USV HAT 1.1
sub i2c_USV_Batt_Voltage()
{
my @parts = split(/ /,fhem "get I2C read 62 2 2",1);
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])*0.000305 : return "9999";
}

sub i2c_USV_Batt_Percent()
{
my @parts = split(/ /,fhem "get I2C read 62 4",1);
$parts[7] eq "Ok" ? return ($parts[2]) : return "9999";
}



Hier die Infos zu der v1.1:
http://www.raspberrypiwiki.com/index.php/Power_Pack_Pro

Christian72D

Noch jemand ein schönes Gehäuse im "Angebot"?


frober

Hallo zusammen,

ich benutze auch dieses Board in V1.1.
Leider habe ich Probleme mit der Stromversorgung. Die Power-Led des Raspi flackert je nach Auslastung. Ich hatte es erst auf einem 2+ und nun auf dem 3b. Mittlerweile habe ich auch das offizielle Raspi-Netzteil probiert. Genau der gleiche Effekt. Wenn ich den Raspi direkt mit Strom versorgen passt alles. Funktioniert auch mit einem Y-Kabel, allerdings wird dann der Akku zur Pflege nicht auf- und entladen.

Kann das jemand bestätigen, bzw. hat jemand eine andere Lösung als das Y-Kabel?

Gruß Bernd
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Frank_Huber

Ich hab 4 Stück der 1.0  laufen.
Ein LED flackern hab ich nicht.

Einen 1.1er hab ich mir mal zum testen gegönnt, aber keine Vorteile erkannt. Ich meine sogar dass die 1.0er mit gleichem Akku länger halten.
Aber an ein blinken kann ich mich auch beim 1.1er nicht erinnern.
Daher denke ich deiner ist defekt. Würd ich einfach mal reklamieren.

Gesendet von meinem Doogee S60 mit Tapatalk


frober

OK, danke für die Info.

Ich habe mal die Spannung gemessen:
Versorgung übers Board leichte Schwankung 5,06 - 5,10 V
Versorgung über Y-Kabel stabile 5,10 V

Wenn ich mich nicht irre, sollte alles über 5,00 V i.O. sein. Oder hat der Raspi mit Spannungsschwankungen Probleme?

Habe das Board reklamiert. Mal sehen..
Laut Spezifikation bringt das Board zw. 4,9 und 5,1 V
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

frober

Falls es jemand interessiert:

Die Pflege des Akkus (laden und entladen) funktioniert auch mit dem Y-Kabel. Habe es per Plot kontrolliert.
Seit dem Raspi B+ blinkt die PWR-LED erst unter 4,63V (laut Internetsuche).

Y-Kabel bleibt bei mir erstmal, in der Hoffnung, dass die Netzwerkverfügbarkeit des Raspis (sporadisch nicht erreichbar) gewährleistet ist.

Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...

Frini

Ich habe mal eine blöde Frage. Wo muss ich denn den Stromanschluss an dem 1.1er Board anschließen? Da wo in oder out steht? Bei in bekomme ich nämlich nur die blinkenden blauen LEDs und mehr nicht.

Frank_Huber

Bei input. Zum anschalten den Taster drücken.

Gesendet von meinem Doogee S60 mit Tapatalk


Frini

Klasse. Muss ich heute abend noch einmal ausprobieren.
Muss jetzt nur noch einmal checken, ob die Idee zwei Raspberrys an das MeanWell 25-5 zu hängen so eine gute Idee war bezüglich der Power.  :o

Heißt, dass das ich den Output theoretisch für einen zweiten Raspberry nutzen könnte?

Frini

Zitat von: Nighthawk am 13 Mai 2018, 11:31:35
Hallo Zusammen,

als erstes ein Danke an Frank für das Teilen der Infos!

Ich habe die Geekworm UPS HAT v1.1 bei mir im Betrieb, diese bedarf einer kleiner Anpassungen in der 99_myUtils.pm da die I2C Adresse und auch der Multiplikator sich geändert haben.

Hier meine sub:

#USV HAT 1.1
sub i2c_USV_Batt_Voltage()
{
my @parts = split(/ /,fhem "get I2C read 62 2 2",1);
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])*0.000305 : return "9999";
}

sub i2c_USV_Batt_Percent()
{
my @parts = split(/ /,fhem "get I2C read 62 4",1);
$parts[7] eq "Ok" ? return ($parts[2]) : return "9999";
}



Hier die Infos zu der v1.1:
http://www.raspberrypiwiki.com/index.php/Power_Pack_Pro

Irgendie klappt das bei mir nicht. ich kann über read 62 2 2 die richtigen Spannung auslesen, aber nach dem get Befehl im Dummy gibt er immer nur 9999 wieder.

Ich stehe gerade etwas auf dem Schlauch. Wofür benötige ich die Abfrage mit $parts8
$parts[8] eq "Ok" ? return ($parts[2] * 256 + $parts[3])*0.000305 : return "9999"; in der Sub.
Den hinteren Teil ($parts[2] * 256 + $parts[3])*0.000305 verstehe ich Aber das eq OK check ich nicht.

Frank_Huber

Hast die Adresse geprüft?
Im Beispiel ist es 62.

Gesendet von meinem Doogee S60 mit Tapatalk


Frini

Ja das funktioniert.
Mit get myI2C read 62 2 2
erhalte ich
received : 53 65  |  transmission: Ok
und mit get myI2C read 62 4
erhalte ich
received : 100  |  transmission: Ok

Frank_Huber

Scheinbar bekommst du kürzere Antworten.
Versuche mal die Prüfung auf OK auf parts 5 bzw 4 zu ändern.

Gesendet von meinem Doogee S60 mit Tapatalk


Frini

Da ist noch mehr im argen.
Die USV hat sich nicht mit meinem Homematic myHmUART verstanden. Mir ist nur durch Zufall aufgefallen, dass der myHmUART immer in einem Reconnect gegangen ist. So ein Mist.

Frank_Huber

also wenn alles richtig steckt sollte sich das nicht beeinflussen.

I2C liegt auf GPIO-2 und GPIO-3 (Pin 3 und 5)
UART liegt auf GPIO-14 und GPIO-15 (Pin 8 und 10)

Frini

Das ist komisch. Nach entfernen der USV lief das HMUART wieder ohne Fehler.

Frini

Ich wollte mich noch einmal kurz zurückmelden.
Es läuft inzwischen. Ich musste, weil ich mir die sudo-Rechte zerschossen fhem neu aufsetzen. Komischerweise läuft die USV in Verbindung mit dem HMUART jetzt ohne Probleme. Vielen Dank für Deine Anleitung.
Ich werde den AutoShutdown allerdings erstmal nicht wieder aktiveren. Beim Ändern der Rechte für FHEM habe ich mir das komplett zerschossen. Keine Ahnung was ich da gemacht.
Ein hoch auf ein sauberes Backup.

Jens_B

#45
Hallo Zusammen,
ich habe mir auch die Geekworm USV zugelegt. Da ich kein dblog in fhem nutze, würde ich gern wissen, wie ich die Plots für den Verlauf über filelog erstellen kann.
ich habe mir ein filelog device erstellt:
defmod I2C_Log FileLog ./log/I2C-%Y-%m.log I2C
attr I2C_Log room USV

setstate I2C_Log active



leider wird hier aber anscheinend nichts geloggt. Ich vermute ich habe einen Denkfehler? Okay, jetzt wird geloggt...  Soweit funktioniert es also
Leider bekomme ich es noch nicht auf die Reihe, die Titelzeile mit den augenblicklichen Werten angezeigt zu bekommen.
Gruß
Jens
RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

Jens_B

#46
Zitat von: Frank_Huber am 09 März 2018, 22:38:09

In einem punkt ist die Webseite falsch, oder basiert auf einer älteren Revision.Wenn Strom weg war und wieder kommt wird der Akku geladen.
Man muss NICHT aus und wieder anschalten wie beschrieben.

Mit dem Handy online, daher kurz gefasst...

Also ich habe hier die 1.0 Version des Boards. Was ich feststellen konnte:
- Wenn der Akku leer ist und der PI aus war, und man dann dann das Teil wieder einschaltet wird der Akku geladen bis auf 95% (ca 4,85 V mehr wird's nicht)
- Wenn man jetzt den NetzStecker vom USV abzieht läuft der PI weiter -> Ich habe den PI mal bis auf 15% AkkuKapazität vom Netzstrom gelassen.
-> dann den Stecker wieder dran ... -> Der Akku wird nur noch bis zu einer Spannung von 3,7V geladen, danach tut sich nix mehr.... mit laden.


Edit: Ich habe jetzt mal die genannte Änderung mit R1 und R3 durchgeführt... also das funktioniert scheinbar NICHT wie erwartet. Auch hier wird der Akku nicht geladen, nachdem der Netzstrom wieder da ist. Es sieht gerade so aus, als ob der PI weiter über den Akku versorgt wird.
Nachdem der Netzstrom wieder da ist... :-(....

Gruß
Jens

RaspberryPi 4 (Raspian Buster)FHEM+Homebridge
HMLAN für Homematic
Z-Wave USB Stick
Shelly Devices
Fritz!Box 7590Ax

treborst

Vielleicht liest hier noch jemand ;-)
Ich wollte dieses Board gestern an meinem FHEM Raspi einbauen, habe aber leider das Problem, dass der Raspi sich nicht über den Taster am board einschalten lässt.
Gleich nach dem zusammenstecken hat es einmal funktioniert.
Ich habe dann wieder abgeschalten, weil ich erst den Akku voll laden wollte; als dies erledigt war, funktionierte das Einschalten per Taster nicht mehr.
Das UPS Board lässt sich aber über den Taster noch abschalten und der Akku wird geladen; ganz defekt scheint es also nicht zu sein.
Hat jemand eine Idee, was hier die Ursache sein könnte?

Frank_Huber

Zitat von: treborst am 30 März 2020, 17:30:48
Vielleicht liest hier noch jemand ;-)
Ich wollte dieses Board gestern an meinem FHEM Raspi einbauen, habe aber leider das Problem, dass der Raspi sich nicht über den Taster am board einschalten lässt.
Gleich nach dem zusammenstecken hat es einmal funktioniert.
Ich habe dann wieder abgeschalten, weil ich erst den Akku voll laden wollte; als dies erledigt war, funktionierte das Einschalten per Taster nicht mehr.
Das UPS Board lässt sich aber über den Taster noch abschalten und der Akku wird geladen; ganz defekt scheint es also nicht zu sein.
Hat jemand eine Idee, was hier die Ursache sein könnte?
Wo hast du dennstrom angeschlossen?
Den taster mal bißchen länger gedrückt?

Ich hab meine wieder ausgebaut, hab ne zentrale USV jetzt,
Aber ich meine 1sek Taste mindestens.

Gesendet von meinem S68Pro mit Tapatalk


NewRasPi

Zitat von: Frank_Huber am 30 März 2020, 17:48:25
......

Ich hab meine wieder ausgebaut, hab ne zentrale USV jetzt,
Aber ich meine 1sek Taste mindestens.

Gesendet von meinem S68Pro mit Tapatalk
Hallo @ Frank_Huber
darf ich mal fragen, welche "zentrale USV" Du jetzt hast?
Ich habe bisher an den verschiedenen Raspis normale 230V USV die die jeweiligen Netzteile bei Stromausfall versorgen (sollen).
Das funktioniert soweit auch ganz gut (je nach Last für 10 - 20 Minuten).
Wenn ein Stromausfall länger dauert stürzen meine Raspis aber dann unkontrolliert ab. Oft geht das gut - manchmal auch mit den Folgen einer defekten SD-Karte.
Schön ist anders.
Jetzt überlege ich eine USV wie die von Solartronics >> https://www.solartronics.de/spannungswandler-usv-12v-nps-1500/3000-watt-reiner-sinus-ups-inverter-08121500usv
und eine dementsprechend große Solarbatterie > 12V 150Ah ein zu richten.
Der schöne Nebeneffekt wäre damit auch andere Geäte im Haus ..... (Router, WLAN, HM Router)
Der Pferdefuss dabei: Die Kosten von rund 280,- € für diese USV und rund min. 240,- € für die passende Batterie :-(
Eine einfache Alternative wäre vielleicht noch direkt Step-Down-Wandler von 12V Autobatterie auf 5V Raspiversorgung ein zu richten

Deshalb kurz die Frage an Dich, welche Lösung hast Du eingerichtet und versorgst Du nur die Computer damit?

Schöne Grüße
NewRasPi
Raspberry Pi 2 Mod B + Raspberry Pi 3 + Raspberry Pi4; HM Lan Adapter; 8 Kanal Relaiskarte; ca. 15x 1wire Temperatur Sensor DS18B20; 10x HC-SR501 Bewegungsmelder; 9x HM Rauchmelder HM-Sec-SD; HM Funk Fenstersensoren; HM Strommess-Zwischenstecker;

Frank_Huber



Zitat von: NewRasPi am 13 April 2020, 15:21:58
Hallo @ Frank_Huber
darf ich mal fragen, welche "zentrale USV" Du jetzt hast?

Schöne Grüße
NewRasPi

Hi,

Klar darfst du. Habe jetzt eine große APC mit zwei Batterie Erweiterungen im Serverschrank.
Wenn alles an bleibt hält die mir die Versorgung der gesamten EDV ca 5 Stunden am laufen.
Nach 1 Stunde fahre ich nicht so wichtige Dinge runter.
Schätze die Raspis laufen dann noch 2 Tage weiter. [emoji23]

Zur Steuerung frägt eine FHEM Instanz die USV ab und steuert dann was wann runtergefahren oder per WoL gestartet wird wenn der Akku der USV wieder voll genug ist

Grüße
Frank (https://uploads.tapatalk-cdn.com/20200413/55b8d71e6de7f3bb5ce42719567b56bc.jpg)

Gesendet von meinem S68Pro mit Tapatalk


treborst

Zitat von: Frank_Huber am 30 März 2020, 17:48:25
Wo hast du dennstrom angeschlossen?
Den taster mal bißchen länger gedrückt?

Ich hab meine wieder ausgebaut, hab ne zentrale USV jetzt,
Aber ich meine 1sek Taste mindestens.

Gesendet von meinem S68Pro mit Tapatalk

Hallo Frank,
habe deine Antwort übersehen, sorry.
Strom habe ich angeschlossen und den Taster auch länger gedrückt.
Ansonsten wie bereits beschrieben, das Board ist nicht ganz tot, nur das Einschalten des Raspi funktioniert nicht.

Hat noch jemand eine Idee?

Frank_Huber

Hast Du den Strom am Hat oder am PI angeschlossen?

Wenn am PI:
Dann fährt dein PI herunter geht aber nicht aus. kommt der Strom wieder bleibt er im shutdown. --> Strom ziehen und wieder stecken. (oder den PI anderweitig "aufwecken", wüsste aber grad nicht wie.)

Wenn am Hat:
LED am PI aus? Dann den Knopf drücken zum anschalten.
LED am PI an? Dann den Knopf drücken zum ausschalten und nochmal zum einschalten. (oder wie oben geschrieben anderweitig den PI wecken)

frober

#53
Es gibt eine neue V1.1 ?!?! :o

Basierend auf V1.0, I2C Adresse ist diesmal die gleiche. Platine ist auch blau und nicht mehr rot.
Leider habe ich momentan noch Probleme damit: ohne Raspi lädt sie, mit lädt sie nicht. Egal ob Strom nur am USV oder Y-Kabel.

Bilder hänge ich noch an...erledigt.

Nachtrag: Aktuell habe ich die alte V1.1 wieder eingebaut und auch Ladeprobleme, scheint also nicht an der USV zu liegen. Teste und suche noch...

Nachtrag2: Fehler gefunden, das USB-Kabel war defekt.
Raspi 3b mit Raspbian Buster und relativ aktuellem Fhem,  FS20, LGW, PCA301, Zigbee, MQTT, MySensors mit RS485(CAN-Receiver) und RFM69, etc.,
einiges umgesetzt, vieles in Planung, smile

********************************************
...man wächst mit der Herausforderung...