FHEM Forum

FHEM - Hardware => Einplatinencomputer => Thema gestartet von: FHEMAN am 25 März 2015, 22:31:58

Titel: Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 25 März 2015, 22:31:58
Hallo zusammen,

ich habe einen Akku am Cubie als USV angeschlossen und  zur Kontrolle für einen Stromausfall samt Benachrichtigung konfiguriert. Meine 5,3 Ah Version hält 6 Stunden durch (CUL, WLAN, SSD).
Da mir eine Komplettlösung hierzu fehlte, möchte ich hier mal meine Erkenntnisse zusammenfassen:

1.a Akku Li-Akku, 3,7 V-/5,3 Ah besorgen und anschließen
bei Pollin gibt es einen mit passendem Kabel+Stecker dran.
Achtung:
Anschließen nur im ausgeschalteten Zustand
Anschluss ist am Rand (nicht der zur Mitte hin hinter den HDD Stromanschlüssen)

1.b Akku Kapazität von 2100 auf 5300mAh hochsetzen
(Basis ist das Igor Image)

Anzeige der aktuell eingestellten Kapazität
cat /sys/class/power_supply/battery/energy_full_design
Die script.fex bearbeiten
cp /boot/script.bin /boot/script.bin.bak
bin2fex /boot/script.bin /boot/script.fex
sudo nano /boot/script.fex

Folgendes Suchen (ca. 3 Seiten vor Dateiende) ...
pmu_battery_cap = 2100
...und ersetzen durch Folgendes
pmu_battery_cap = 5300
Überprüfung der neu eingestellten Kapazität
cat /sys/class/power_supply/battery/energy_full_design

Ein Reboot wäre nun sinnvoll (sudo shutdown -r now)

2. SYSMON installieren und userReading konfigurieren (hier im Beispiel als Minimalkonfiguration)
define sysmon SYSMON
attr sysmon event-on-change-reading battery,power_battery_stat
attr sysmon userReadings battery:(power_battery_stat) {((split(/\s+/, ReadingsVal("sysmon","power_ac_stat",1)))[0] eq 0) ? ((split(/\s+/, ReadingsVal("sysmon","power_battery_stat",100)))[4]) : "AC" }

Nun haben wir ein weiteres Reading battery: AC|0..100
Wenn AC angezeigt wird, wird eine andere Stromquelle genutzt und der Akku wird ggf. geladen. Ansonsten wird die Ladung in % angezeigt.

3. Ein schicker Dummy darf nicht fehlen (und wird auch als OldValue Ersatz verwendet)
(http://i.imgur.com/yUovCT3.jpg)
define Cubie_Battery dummy
attr Cubie_Battery alias Cubie Battery
attr Cubie_Battery devStateIcon (0.*|1.):measure_battery_0@red (2.*|3.*):measure_battery_25@orange (4.*|5.*|6.*):measure_battery_50@green (7.*|8.*):measure_battery_75@green (9.*|10.*):measure_battery_100@green
attr Cubie_Battery group Cubie
attr Cubie_Battery icon measure_battery_0


BTW: Im aktuellen Release fehlt das measure_battery_25 Icon leider, also nicht wundern.

4. Kontrollfunktion inkl. Benachrichtigung und Herunterfahren
define notify_sysmon_Battery notify sysmon:battery.* {
    my $battValue = ReadingsVal("sysmon","battery", -1);
    my $oldBattValue = -1;
    if ((defined "Cubie_Battery") && (Value("Cubie_Battery") ne $battValue)) {
      $oldBattValue = Value("Cubie_Battery");
      fhem("set Cubie_Battery ".$battValue);
      if (($battValue ne "AC") && (($oldBattValue eq "AC") || ($oldBattValue > $battValue))) { 
        if ($battValue < 15) {
          SendMessage("New Battery status: SHUTDOWN", "Battery Capacity ULTRA LOW: $battValue Prozent >>> SYSTEM SHUTDOWN in 5 min", "Pushover,Mail,Log","loud");
          system("/usr/bin/sudo shutdown -h 5 &");
        } elsif ($battValue < 20) {
          SendMessage("New Battery status: ".$battValue, "Battery Capacity LOW: ".$battValue." Prozent", "Pushover,Mail,Log","loud");
        } elsif ($battValue =~ m/(20|30|40|50|60|70|80|9.|100)/) {
          SendMessage("New Battery status: ".$battValue, "Battery Capacity: $battValue Prozent", "Pushover,Mail,Log","normal");
        }
      } elsif (($battValue eq "AC") && ($oldBattValue ne "AC")) {
          SendMessage("New Battery status: ".$battValue, "", "Pushover,Mail,Log","normal");
      }
   }
}

(Diese Funktion könnte auch wunderbar in die 99_myUtils.pm)

Es erfolgt nun eine Meldung (in meinem Beispiel sendMessage Funktion) bei
Wechsel von AC auf Batteriebetrieb
Entladen, zw. 90% und 100% bei jedem Prozent, danach in 10er Prozentschritten
Wechsel vom Batteriebetrieb auf AC Betrieb
Bei 19% gibt es eine letzte Warnung
Bei 14% wird der Cubie heruntergefahren

5. Damit das Herunterfahren klappt (benötigt sudo Rechte), muss der User fhem noch in sudoers eingetragen werden
In Telnet:
sudo visudo oder sudo nano /etc/sudoers

In der /etc/sudoers Datei folgendes hinzufügen:
# Cmnd alias specification
Cmnd_Alias SHUTDOWN_HALT_REBOOT = /sbin/shutdown

# User privilege specification
fhem ALL = NOPASSWD: SHUTDOWN_HALT_REBOOT


Optimierungen sind willkommen!
Ansonsten viel Spaß evtl. beim Nachbauen!

Ronny
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: betateilchen am 26 März 2015, 07:10:11
Zitat von: derron am 25 März 2015, 22:31:58
Optimierungen sind willkommen!

Dazu braucht man kein fhem, das kann der Cubietruck auch ganz alleine auf Hardware- und Betriebssystembasis.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 26 März 2015, 09:34:39
Zitat von: betateilchen am 26 März 2015, 07:10:11
Dazu braucht man kein fhem, das kann der Cubietruck auch ganz alleine auf Hardware- und Betriebssystembasis.

Ich hatte das Herunterfahren vorher auch per Cronjob Script erledigt und in Logfiles geschrieben. Das schöne an der fhem Lösung ist aber, dass man hier schon alles hat: Messaging, Logs, Visualisierung, GUI etc. - für mich als Linux Einsteiger ideal. Wenn auch ganz klar nicht perfekt.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 10 April 2015, 12:11:32
Bei mir wird das Reading "battery" leider nicht korrekt angelegt. Mal ist es da mal verschwindet es einfach wieder. Woran liegt das?

Muss man die Kapazität des verwendeten Akkus eigentlich noch irgendwo auf Systemebene eintragen?
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: hexenmeister am 10 April 2015, 22:59:27
Zitat von: Spezialtrick am 10 April 2015, 12:11:32
Muss man die Kapazität des verwendeten Akkus eigentlich noch irgendwo auf Systemebene eintragen?

Diese Einstellung steht dem System in der Datei /sys/class/power_supply/battery/energy_full_design zur Verfügung. Man kann sie dort jedoch nicht direkt eintragen, sie wird beim Booten durch /boot/script.bin definiert. Die Datei muss nicht genau so heißen, den genauen Namen erfährt man aus /boot/uEnv.ct (kann je nach eingesetzten Betriebsystem(version) etwas anders sein). Der zuständige Eintrag  kann z.B. so aussehen: script=/boot/ct-hdmi.bin. Die Schript-Datei ist jedoch binär. Damit sie bearbeitet werden kann, muss sie vorher mittels bin2fex-Utility in lesbare Form umgesetzt werden und nach der Bearbeitung auch wieder zurück (bin2fex -> script.fex -> edit -> fex2bin -> script.bin). Der anzupassender Parameter heißt pmu_battery_cap. Die Angaben haben in mAh zu erfolgen.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 11 April 2015, 12:14:28
Zitat von: hexenmeister am 10 April 2015, 22:59:27
Diese Einstellung steht dem System in der Datei /sys/class/power_supply/battery/energy_full_design zur Verfügung. Man kann sie dort jedoch nicht direkt eintragen, sie wird beim Booten durch /boot/script.bin definiert. Die Datei muss nicht genau so heißen, den genauen Namen erfährt man aus /boot/uEnv.ct (kann je nach eingesetzten Betriebsystem(version) etwas anders sein). Der zuständige Eintrag  kann z.B. so aussehen: script=/boot/ct-hdmi.bin. Die Schript-Datei ist jedoch binär. Damit sie bearbeitet werden kann, muss sie vorher mittels bin2fex-Utility in lesbare Form umgesetzt werden und nach der Bearbeitung auch wieder zurück (bin2fex -> script.fex -> edit -> fex2bin -> script.bin). Der anzupassender Parameter heißt pmu_battery_cap. Die Angaben haben in mAh zu erfolgen.

Hallo Alexander,

danke für deine Antwort. Habe dies natürlich auch schon auf deinem Blog gesehen, aber leider nicht richtig verstanden. Ich habe versucht die Datei einfach mit "sudo nano /sys/class/power_supply/battery/energy_full_design" zu bearbeiten. Leider fehlen meinem root Benutzer offenbar die Berechtigungen dafür:

[ Error writing /sys/class/power_supply/battery/energy_full_design: Permission denied ]

Könntest du den Vorgang genauer ausführen?



Zudem komme ich mit der Anleitung nicht wirklich klar. Sobald ich das "attr sysmon event-on-change-reading battery" Attribut setze wird automatisch nach der ersten Veränderung das Reading "Battery" nicht mehr angezeigt. Dies passiert immer sobald ein event-on-change-reading Attribut gesetzt wird. Durch das fehlende Event funktioniert es natürlich nicht. Der Dummy wird ebenfalls nicht aktualisiert. :(
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: hexenmeister am 11 April 2015, 14:08:21
Hallo Miro,

das ist keine "richtige" Datei, sie wird vom Kernel in den Verzeichnisbaum eingeblenden, daher kann sie auch nicht  beschrieben werden, auch nicht als root.
Die eigentliche Einstellung befindet sich in einer Datei in dem Verzeichnis "/boot". Welche genau das ist, steht in uEnv.ct.
Zitat/boot $ cat uEnv.ct
console=ttyS0,115200
root=/dev/mmcblk0p1 rootwait
extraargs=rootfstype=ext4 sunxi_ve_mem_reserve=0 sunxi_g2d_mem_reserve=0 sunxi_no_mali_mem_reserve sunxi_fb_mem_reserve=16 hdmi.audio=EDID:0 disp.screen0_output_mode=EDID:1280x720p60 panic=10 consoleblank=0
script=/boot/ct-hdmi.bin
kernel=/boot/uImage

Bei mir ist es also ct-hdmi.bin. Die wird jedoch in einem binären Format erwartet und kann daher nicht direkt editiert werden. Zuerst verwandelst Du sie in Text:
alex@cubie /boot $ sudo su

Load: 0,12, 0,21, 0,22 - Board: 41.0°C - Drive: 47°C / 444Gb - Memory: 1786Mb

root@cubie:/boot# bin2fex /boot/ct-hdmi.bin ct-hdmi.fex
fexc-bin: /boot/ct-hdmi.bin: version: 0.1.2
fexc-bin: /boot/ct-hdmi.bin: size: 46240 (83 sections)


Jetzt kannst Du die Datei bearbeiten. Da ist eine Menge hardwarespezifischen Einstellungen. Sei vorsichtig damit.
Danach muss sie wieder in bin-Format umgewandelt werden.

root@cubie:/boot# fex2bin ct-hdmi.fex meine_neue_datei.bin

Dann ersetzt Du die Original mit Deiner Version.
Ich würde Dir für alle Fälle zu einem vorherigen Backup raten.

Ich hoffe, das war besser verständlich :)

Grüße,

Alexander
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 11 April 2015, 17:47:00
Hallo Alexander,

nun ist es auch für mich nachvollziehbar. :) Ich habe es nun hinbekommen und meinen Akku auf 5300 mAh gestellt.

Allerdings hießen sämtliche Dateien etwas anders. Angefangen bei der uEnv.ct. Diese heißt bei mir uEnv.txt. In dieser finde ich die Angabe script=cubietruck.bin. Im Ordner /boot ist genau diese Datei nicht vorhanden. Es finden sich lediglich die Dateien magic.bin und script.bin.

Daraufhin hab ich es mit der script.bin versucht und konnte mich an deiner Anleitung entlang hangeln. Vielen Dank! :)


Kannst du dir erklären warum mir das Attribut "attr sysmon event-on-change-reading battery" immer das Reading battery löscht?

Könntest du versuchen die Anleitung von derron bei dir umzusetzen? Ich stelle mir nämlich grad die Frage, ob ein Fehler in der Anleitung ist oder ob ich irgendetwas falsch machen.  ;D
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: hexenmeister am 11 April 2015, 19:35:47
Zitat von: Spezialtrick am 11 April 2015, 17:47:00
Allerdings hießen sämtliche Dateien etwas anders.

Scheinbar ist jede Version da etwas eigen.

Zitat von: Spezialtrick am 11 April 2015, 17:47:00
Kannst du dir erklären warum mir das Attribut "attr sysmon event-on-change-reading battery" immer das Reading battery löscht?

Könntest du versuchen die Anleitung von derron bei dir umzusetzen? Ich stelle mir nämlich grad die Frage, ob ein Fehler in der Anleitung ist oder ob ich irgendetwas falsch machen.  ;D

Das kann ich leider auch nicht erklären. Ich benutze nur event-on-update-reading. Ich habe die Zeile mit dem userReading von derron ausprobiert. Reading 'battery' wird angezeigt und aktualisiert (nicht sofort, sondern wenn SYSMON die entsprechenden Quell-Readings aktualisiert).

Dummy habe ich nicht angelegt, warum sollte es aber nicht funktionieren? Notify in der Form kann ich auch nicht gebrauchen. Das herunterfahren von Cubietruck wird bei mir in einem cron-job vorgenommen. Ich finde das in FHEM fehl am Platz.

Grüße,

Alexander
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 11 April 2015, 19:44:46
Zitat von: hexenmeister am 11 April 2015, 19:35:47
Das kann ich leider auch nicht erklären. Ich benutze nur event-on-update-reading. Ich habe die Zeile mit dem userReading von derron ausprobiert. Reading 'battery' wird angezeigt und aktualisiert (nicht sofort, sondern wenn SYSMON die entsprechenden Quell-Readings aktualisiert).

So ist es bei mir auch. Bleibt das Reading denn bestehen, wenn du "event-on-update-reading" bzw. "event-on-change-reading" setzt? Sobald ich dieses Attribut setze, verschwindet das Reading battery nach kurzer Zeit.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: hexenmeister am 11 April 2015, 19:59:52
Ich habe event-on-update-reading für
   
cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,loadavg,ram,fs_.*,stat_cpu_percent,power_ac_stat,power_battery_stat

Bei mi verschwindet nichts.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 11 April 2015, 20:40:46
Zitat von: hexenmeister am 11 April 2015, 19:59:52
Ich habe event-on-update-reading für
   
cpu_temp,cpu_temp_avg,cpu_freq,eth0_diff,loadavg,ram,fs_.*,stat_cpu_percent,power_ac_stat,power_battery_stat

Bei mi verschwindet nichts.

Ich habe nun deinen Code kopiert und um das Reading battery ergänzt und es bleibt tatsächlich bestehen... Warum auch immer. ^^

Mit dem Notify habe ich aber leider auch Probleme... Wenn ich ein blankes Notify erstelle und diesen Teil

sysmon:battery.*{
    my $battValue = ReadingsVal("sysmon","battery", -1);
    my $oldBattValue = -1;
    if ((defined "Cubie_Battery") && (Value("Cubie_Battery") ne $battValue)) {
      $oldBattValue = Value("Cubie_Battery");
      fhem("set Cubie_Battery ".$battValue);
      if (($battValue ne "AC") && (($oldBattValue eq "AC") || ($oldBattValue > $battValue))) { 
        if ($battValue < 15) {
          SendMessage("Battery status changed","Battery Capacity ULTRA LOW: ".$battValue." Prozent >>> SYSTEM SHUTDOWN in 5 min", "Pushover,Mail,Log","loud");
          system("/usr/bin/sudo shutdown -h 5 &");
        } elsif ($battValue < 20) {
          SendMessage("Battery status changed","Battery Capacity LOW: ".$battValue." Prozent", "Pushover,Mail,Log","loud");
        } elsif ($battValue =~ m/(20|30|40|50|60|70|80|9.|100)/) {
          SendMessage("Battery status changed","Battery Capacity: $battValue Prozent", "Pushover,Mail,Log","normal");
        }
      } elsif (($battValue eq "AC") && ($oldBattValue ne "AC")) {
          SendMessage("Battery status changed","AC Mode", "Pushover,Mail,Log","normal");
      }
   }
}


in die Definition kopiere funktioniert es nicht. Und wenn ich den gesamte Definition

define notify_sysmon_Battery notify sysmon:battery.*{
    my $battValue = ReadingsVal("sysmon","battery", -1);
    my $oldBattValue = -1;
    if ((defined "Cubie_Battery") && (Value("Cubie_Battery") ne $battValue)) {
      $oldBattValue = Value("Cubie_Battery");
      fhem("set Cubie_Battery ".$battValue);
      if (($battValue ne "AC") && (($oldBattValue eq "AC") || ($oldBattValue > $battValue))) { 
        if ($battValue < 15) {
          SendMessage("Battery status changed","Battery Capacity ULTRA LOW: ".$battValue." Prozent >>> SYSTEM SHUTDOWN in 5 min", "Pushover,Mail,Log","loud");
          system("/usr/bin/sudo shutdown -h 5 &");
        } elsif ($battValue < 20) {
          SendMessage("Battery status changed","Battery Capacity LOW: ".$battValue." Prozent", "Pushover,Mail,Log","loud");
        } elsif ($battValue =~ m/(20|30|40|50|60|70|80|9.|100)/) {
          SendMessage("Battery status changed","Battery Capacity: $battValue Prozent", "Pushover,Mail,Log","normal");
        }
      } elsif (($battValue eq "AC") && ($oldBattValue ne "AC")) {
          SendMessage("Battery status changed","AC Mode", "Pushover,Mail,Log","normal");
      }
   }
}


in die Kommandozeile kopiere und ausführe erhalte ich folgende Fehler:

Unknown command my, try help.
Unknown command if, try help.
Unknown command fhem("set, try help.
Unknown command if, try help.
Unknown command system("/usr/bin/sudo, try help.
Unknown command }, try help.
Unknown command }, try help.
Unknown command }, try help.
Unknown command }, try help.


:( :( :(
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 11 April 2015, 21:01:15
Sorry, ich habe nicht mitbekommen, dass hier gepostet wurde.
Die Kapazitätseinstellung hat bei mir nichts verändert. Zumindest habe ich keinen Unterschied bei Lade- und Entladedauer bemerkt. Aber ich werde das mal nachtragen. Danke, hexenmeister!

@Spezialtrick: dein Fehler sieht für mich nach Syntaxfehler an irgendeiner Stelle aus. Kannst Du nochmal das gesamte Notify hier reinkopieren. Vielleicht auch direkt aus der fhem.cfg.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 11 April 2015, 21:48:39
Ich habe nun mal das Code-Beispiel kopiert, das eben noch in deinem Post vorhanden war, derron. ^^

Damit hat es weitgehend funktioniert. :) Der Dummy wird schon mal korrekt befüllt, aber Nachrichten werden nicht verschickt, obwohl Pushover korrekt definiert ist. Im Logfile findet sich aber auch ein Fehler:

2015.04.11 21:21:09 3: notify_sysmon_Battery return value: Undefined subroutine &main::SendMessage called at (eval 413) line 17.

Offenbar fehlt mir noch eine subroutine.  :o

2015.04.11 21:47:10 3: notify_sysmon_Battery return value: Undefined subroutine &main::SendMessage called at (eval 633) line 14.
2015.04.11 21:52:10 3: notify_sysmon_Battery return value: Undefined subroutine &main::SendMessage called at (eval 673) line 17.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 11 April 2015, 22:43:28
Der Code war genau der gleiche wie oben, deswegen habe ich ihn herausgenommen :)

SendMessage ist eine Funktion von mir, die logt, mailt, pushovert und smst. Du solltest Dir da einfach Dein konfiguriertes Pushover aufrufen. Oder sendMail. Was Du halt machen willst.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 11 April 2015, 23:06:12
Könntest du deine SendMessage Funktion auch posten?
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 12 April 2015, 00:02:50
Ich hoffe, es hilft Dir. Du musst die Variablen noch auf Deine Bedürfnisse anpassen. Für sendEmail musst Du evtl. noch ein Update durchführen. Wenn es nicht geht, suche hier mal im Forum. Da gibt es eine Lösung.

Weiß evtl. jemand, wie man in Perl Funktionsparameter einen Defaultwert geben kann?

######## DebianMail  Mail auf dem Cubie versenden ############
sub
DebianMail
{
my $rcpt = shift;
my $subject = shift;
my $text = shift;
my $ret = "";
my $sender = "XXX\@gmx.net";
my $konto = "XXX\@gmx.net";
my $passwrd = "XXXXXXXXXXXXXXXXXXXXXX";
my $provider = "mail.gmx.net:25";
Log 1, "sendEmail RCP: $rcpt";
Log 1, "sendEmail Subject: $subject";
Log 1, "sendEmail Text: $text";

$ret .= qx(sendEmail -f '$sender' -t '$rcpt' -u '$subject' -m '$text' -s '$provider' -xu '$konto' -xp '$passwrd' -o tls=yes -o message-charset=utf-8);
$ret =~ s,[\r\n]*,,g;    # remove CR from return-string
Log 1, "sendEmail returned: $ret";
}

##########################################################
# SendMessage
# Sendet eine Nachricht an Anruf, Mail, Pushover, SMS, Log  mit Lautstärke silent, normal, loud, alarm
# SendMessage("Meldung von Alarmanlage", "Alarm wurde ausgelöst durch Wohnzimmerfenster", "Pushover,Mail,Log", "loud")
sub SendMessage($$$$) {
  my ($title, $description, $dev, $vol) = @_;
  my @devices = split(/,\s*/, uc($dev));
  foreach my $device (@devices) {
    if ($device eq "SMS") {
        system("echo $title: $description | sudo /usr/bin/gnokii --sendsms +49XXXXXXX &");
        Log 1, ('SMS versandt: '.$title.': '.$description);
} elsif ($device eq "PUSHOVER") {
        my $volume = "";
    if ($vol eq "normal") { $volume = "pushover";}
        elsif ($vol eq "silent") {$volume = "none";}
        elsif ($vol eq "loud") {$volume = "tugboat";}
        elsif ($vol eq "alarm") {$volume = "siren";}
        else {$volume = $vol;}
        if ($vol eq "alarm") {
        fhem("set Pushover1 msg '$title' '$description' '' 2 '$volume' 30 600");
        } else {
fhem("set Pushover1 msg '$title' '$description' '' 0 '$volume'");
        }
    } elsif ($device eq "LOG") {
    Log 1, ($title.': '.$description);
    } elsif ($device eq "MAIL") {
    DebianMail('XXX@mailbox.org', $title, $description);
    }
  }
}
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 12 April 2015, 18:44:39
Vielen Dank damit hat es nun funktioniert und der Cubie sendet entsprechende Nachrichten.

Ausschließlich die Mitteilung bei Umschaltung von Batterie auf AC funktioniert bei mir nicht. Im Log findet sich diese Fehlermeldung:

2015.04.12 18:37:34 3: set Pushover msg 'New Battery status: AC' '' '' 0 'pushover' : Syntax: <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire>]]


Offenbar liegt ein Syntax Fehler vor. Funktioniert diese Mitteilung bei Dir?
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: stromer-12 am 12 April 2015, 21:26:50
Zitat von: Spezialtrick am 11 April 2015, 19:44:46
So ist es bei mir auch. Bleibt das Reading denn bestehen, wenn du "event-on-update-reading" bzw. "event-on-change-reading" setzt? Sobald ich dieses Attribut setze, verschwindet das Reading battery nach kurzer Zeit.

Das Reading "battery" wird nur erzeugt wenn das Reading "power_battery_stat" ein Event erzeugt. Also muss "power_battery_stat" in "event-on-update-reading" bzw. "event-on-change-reading" stehen.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 13 April 2015, 00:04:02
Zitat von: Spezialtrick am 12 April 2015, 18:44:39
Vielen Dank damit hat es nun funktioniert und der Cubie sendet entsprechende Nachrichten.

Ausschließlich die Mitteilung bei Umschaltung von Batterie auf AC funktioniert bei mir nicht. Im Log findet sich diese Fehlermeldung:

2015.04.12 18:37:34 3: set Pushover msg 'New Battery status: AC' '' '' 0 'pushover' : Syntax: <Pushover_device> msg [title] <msg> [<device> <priority> <sound> [<retry> <expire>]]


Offenbar liegt ein Syntax Fehler vor. Funktioniert diese Mitteilung bei Dir?
Hast Du ein Standard Device vergeben -> attr device?
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 13 April 2015, 14:37:03
Zitat von: stromer-12 am 12 April 2015, 21:26:50
Das Reading "battery" wird nur erzeugt wenn das Reading "power_battery_stat" ein Event erzeugt. Also muss "power_battery_stat" in "event-on-update-reading" bzw. "event-on-change-reading" stehen.

Das erklärt, warum sich das eine Reading immer wieder verschwunden ist. :)

Zitat von: derron am 13 April 2015, 00:04:02
Hast Du ein Standard Device vergeben -> attr device?

Nein ich habe kein Device vergeben. Sollte man das?
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 14 April 2015, 09:48:38
Ich habe das Attribut "power_battery_stat" im 1. Post nachgetragen, danke für die Info.

Als Standarddevice habe ich eines vergeben. Ich könnte mir vorstellen, dass
set Pushover msg 'New Battery status: AC' '' '' 0 'pushover'
sonst nicht funktioniert, da der 4. Parameter <device> bei diesem Aufruf leer ist.
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: Spezialtrick am 20 April 2015, 09:59:57
Welches Standart Device hast du gewählt? Ich habe nun "Fhem" eingetragen und bekomme weiterhin keine Nachricht. -.-
Titel: Antw:Einrichtung eines Akku am Cubietruck
Beitrag von: FHEMAN am 20 April 2015, 11:00:55
Zu Pushover versuch dich bitte mal, im Wiki aufzuschlauen. Dann kannst du die Benachrichtigungsfunktion deinem Bedarf anpassen.