USV für Raspberry Pi

Begonnen von DerPeter, 14 Juni 2015, 11:38:49

Vorheriges Thema - Nächstes Thema

alpha1974

Was sagt "list usv"? Ist Device::SMBus installiert?
FHEM/Z-Wave USB-Dongle + div. Devices

Bytechanger

Internals:
   CHANGED
   NAME       USV
   NR         100
   SMBus_exists 1
   STATE      PowerSource / VoltageBAT V / VoltageRPI V / BatTemp °C
   TYPE       UPSPICO
   Readings:
Attributes:
   poll_interval 15
   room       BASIS,Server,USV
   stateFormat PowerSource / VoltageBAT V / VoltageRPI V / BatTemp °C


ZitatIst Device::SMBus installiert?
Ich denke, sonst gäbe es ja eine Fehlermeldung. Kann man hier etwas falsch konfigurieren?
Wie gesagt, testpicosmbus.pl ergibt ja sinnvolle Werte! (siehe Vorpost)

Greets

Byte

alpha1974

Vielleicht ein Rechte-Problem? Wenn du als Root-User mittels Kommandozeilen-Script auf das USV Modul zugreifen kannst, muss das nicht zwangsläufig auch für den FHEM-User gelten.

Bei mir sieht das so aus:

pi@raspberrypi:~ $ groups fhem
fhem : dialout mail i2c gpio

FHEM/Z-Wave USB-Dongle + div. Devices

Bytechanger

#48
Hi,

bei mir ähnlich
Zitatgroups fhem
fhem : dialout i2c



su -l fhem

fhem@raspberrypi:~$ perl /tmp/testpicosmbus.pl

===========================
Testing SMBus with UPS PIco

0x69 ->UPS PIco Module Status Registers Specification
1) mode: 1, vbat: 1058, vrpi: 1288, tbat: 40
2) mode: 1, vbat: 4.22 V, vrpi: 5.08 V, tbat: 28 °C

0x6A -> UPS PIco RTC Registers Direct Access Specification
1) 1, 1, 0, 33, 53, 41
2) 01.01.2000 21:35:29

0x6B -> UPS PIco Module Commands
1) ErrCode: 0, fssd_batime: 69, bmode: 2

= the end =================


ging auch, also vermutlich kein Zugriffsproblem.
Wo ist denn die aktuellste 98_UPSPICO.pm oder wie erkenne ich sie?
(in meiner steht v1.009  14.06.2015  by pbo )

Greets Byte

alpha1974

Kannst du denn als FHEM-User über die Linux-Kommandozeile auf das USV-Modul zugreifen? Ich meine mich zu erinnern, irgendwo gelesen zu haben, dass es bei manchen Distributionen nicht reicht, den FHEM-User in die entsprechenden Gruppen zu stecken. Ansonsten würde ich nochmal die python-SMbus-Installation überprüfen.
FHEM/Z-Wave USB-Dongle + div. Devices

Bytechanger

Hi,

wie oben beschrieben, als fhem-user angemeldet und das "testpicosmbus.pl" gestartet und entsprechende Werte erhalten!

Greets

Byte

Bytechanger

Im Log sind allerdings einige Warnungen:

2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_UPSPICO.pm line 138.
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawPwrSrc in numeric lt (<) at ./FHEM/98_UPSPICO.pm line 428.
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawPwrSrc in numeric eq (==) at ./FHEM/98_UPSPICO.pm line 430.
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawPwrSrc in numeric eq (==) at ./FHEM/98_UPSPICO.pm line 431.
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawCharg in numeric lt (<) at ./FHEM/98_UPSPICO.pm line 435.
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawCharg in numeric gt (>) at ./FHEM/98_UPSPICO.pm line 435.
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawCharg in numeric eq (==) at ./FHEM/98_UPSPICO.pm line 437.
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $rawCharg in numeric eq (==) at ./FHEM/98_UPSPICO.pm line 438.
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/98_UPSPICO.pm line 156.
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: PERL WARNING: Use of uninitialized value $ErrCode in sprintf at ./FHEM/98_UPSPICO.pm line 458.
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:
2016.02.23 20:32:09 1: USV:

Bytechanger

Hi,

jetzt läuft es, habe ein Firmware update auf die 0x59 gemacht, jetzt stehen dort readings!
Super, danke!

Wie wäre eine elegante Möglichkeit auf das Umschalten auf Batteriebetrieb zu triggern?
Ein notify gibt es hierfür nicht, oder?
Mir fiele nur ein timer ein, der ständig das Reading ausliest (at)...


Greets

Byte

alpha1974

Ich habe es noch nicht ausprobiert, aber geht ein Notify auf PowerSource wirklich nicht? Im Eventmonitor erzeugt das Device doch regelmäßige Events.
FHEM/Z-Wave USB-Dongle + div. Devices

Bytechanger

Hi,

habe ich gerade auch bemerkt, habe es wie folgt gelöst:

USV:.* {
   if("$EVENT" =~ m/PowerSource:\sBAT/) {
        if ( Value("USV_Batteriebetrieb") eq "off") {
           #-- Hier ist ein Zustandswechsel sicher, da zuvor gegenteiliger Zustand!
            SendSMS(1,'FHEM Stromausfall!', 'WARNUNG:');  }

        if ( Value("USV_Batteriebetrieb") ne "on") {
           #-- Zustand war zuvor off oder ???
            fhem "set USV_Batteriebetrieb on";   
            Log3 undef,3,"USV ist auf Batteriebetrieb gewechselt!";
        }
   }

  if("$EVENT" =~ m/PowerSource:\sRPI/) {
        if ( Value("USV_Batteriebetrieb") eq "on") {
            #-- Hier ist ein Zustandswechsel sicher, da zuvor gegenteiliger Zustand!
            SendSMS(1,'FHEM Strom ist wieder da!', 'Hinweis:');  }

        if ( Value("USV_Batteriebetrieb") ne "off") {
            #-- Zustand war zuvor on oder ???
            fhem "set USV_Batteriebetrieb off";   
            Log3 undef,3,"USV ist auf Normalbetrieb gewechselt!";
        }
   }
}



Bytechanger

#55
Habe gesehen, in der neuesten Firmware von Januar (0x59 26.01.2016) gibt es ein "Zählregister" was anzeigt, ob die Firmware noch aktiv ist oder abgestürtzt ist.

http://www.pimodules.com/_zip/UPS_PIco_Firmware_Update.zip

Ist einfach ein Zähler, der hochgezählt wird, also bei 2 nacheinanderfolgenden Abfragen verschiedene Werte geben sollte.

Könnte man doch einfach noch einbauen. Ich möchte hier kein Copyright verletzten, daher die Anfrage an den Modulersteller...
Im Falle eines Absturzes der USV könnte man eine Nachricht bekommen (ein Neustart geht vermutlich nur per Taster am Gerät)...

Eine Frage noch:
Habe den 3000mAh Akku, seit Tagen steht dort Charging ON und die Spannung auf ca 4.22 V
Ist das normal, oder sollte er irgendwann voll sein und Chargin OFF ??
                           

Greets

Byte

alpha1974

Zitat von: Bytechanger am 25 Februar 2016, 14:21:34
Habe den 3000mAh Akku, seit Tagen steht dort Charging ON und die Spannung auf ca 4.22 V
Ist das normal, oder sollte er irgendwann voll sein und Chargin OFF ??
Eher nicht, siehe hier. Vielleicht wird das in künftigen Firmwares mal etwas geschickter gelöst:

0x01 - means Charger is ON
If the CHG LED is not lit, means that charger is ON, but battery is fully charged
0x00 - means Charger is OFF
FHEM/Z-Wave USB-Dongle + div. Devices

Bytechanger

Was bedeutet
Zitateher nicht
?
Eher nicht normal, oder ist es normal, dass chargin immer auf on steht?

Die Pico_run Geschichte hab ich mal in die Readings eingebaut und teste damit mal...


Greets

Byte

alpha1974

Charger ist eigentlich immer on, solange die USV nicht auf Akku läuft (und nix kaputt ist). Wenn der Akku voll ist, bleibt CHG on, aber die LED erlischt.
FHEM/Z-Wave USB-Dongle + div. Devices

rainer1962

Hallo,
seit dem ich den I2C Bus nutze - mit dem UPSPICO Modul und dem Modul von FHEM erscheinen bei mir im Log unerklärliche Fehlermeldungen.


2016.02.07 21:42:15.432 1: Including /opt/fhem/fhem.save
2016.02.07 21:42:19.739 2: FB_CALLMONITOR (FritzCallMon) - read 32 contacts from remote phonebook "Telefonbuch"
2016.02.07 21:42:20.038 1: usb create starting
2016.02.07 21:42:26.131 1: usb create end
2016.02.07 21:42:26.200 2: SecurityCheck:  WEB,WEBK,WEBP,WEB_Selfhost_TabletUI,WEB_andFHEM,WEBphone has no associated allowed device with basicAuth. l
2016.02.07 21:42:26.224 0: Featurelevel: 5.7
2016.02.07 21:42:26.247 0: Server started with 609 defined entities (fhem.pl:10727/2016-02-05 perl:5.014002 os:linux user:fhem pid:2708)
2016.02.07 21:42:26.328 1: PERL WARNING: Use of uninitialized value $rawPwrSrc in numeric eq (==) at ./FHEM/98_UPSPICO.pm line 413.
2016.02.07 21:42:26.351 1: PERL WARNING: Use of uninitialized value $rawPwrSrc in numeric eq (==) at ./FHEM/98_UPSPICO.pm line 414.
2016.02.07 21:42:26.380 1: PERL WARNING: Argument "ffffffffffffffff" isn't numeric in division (/) at ./FHEM/98_UPSPICO.pm line 418.
2016.02.07 21:42:26.408 1: PERL WARNING: Argument "ffffffffffffffff" isn't numeric in division (/) at ./FHEM/98_UPSPICO.pm line 422.
2016.02.07 21:42:26.609 1: Perfmon: possible freeze starting at 21:41:41, delay is 45.609
2016.02.07 21:42:27.592 1: PERL WARNING: Use of uninitialized value $FW_ME in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 2165.
Error: Read failed
Error: Read failed
Error: Read failed
2016.02.07 21:42:28.603 1: HMLAN_Parse: HM_USB new condition ok
Error: Read failed
Error: Read failed
Error: Read failed
2016.02.07 21:42:29.879 1: Perfmon: possible freeze starting at 21:42:27, delay is 2.879
Error: Read failed
Error: Read failed
Error: Read failed
2016.02.07 21:42:40.616 1: Perfmon: possible freeze starting at 21:42:32, delay is 8.616


Zudem kommen ab und zu mal unsinnige Werte über den I2C-Bus. habe ich auch schon direkt auf der Konsole provozieren können.
Gibt es eine Einstellung für I2C welche das ganze sicherer macht im Zusammenhang mit der UPSPICO?

habe schon in allen Quelldateien von FHEm nach dem Fehler gesucht, aber nix gefunden.
Weiss jemand woher der Fehlerkommt?
2xFHEM auf Raspi3,MAXLAN,HMLAN,KeyMatic,MAX Heizung,2x HM-WDS10_TH-O,3xHM-SEC-SD,3xHM Wandtaster 2-Kanal, 2xWandtaster 6-Kanal,1xHM Bewegungsmelder,4xHM EinbauActor,4x Jalousien Actor,2xEGPM2LAN,2xHM DimAktor,2xFritzbox 6840/6490,4-20ma Levelsensor-Ina219,PIP5048,Raspi2 als Floorplan,4xJeeLink