Neueste Beiträge

#1
Anfängerfragen / Aw: Kosten im Jahr
Letzter Beitrag von RalfRog - 06 Mai 2024, 15:12:38
Zitat von: Sebastian84 am 06 Mai 2024, 14:47:53Wie Update ich denn das?

Wenn du die Frage so stellst, dann:
- hast du jemals FHEM oder dein OS aktualisiert?
- wie alt ist die Installation?

Gruß Ralf
#2
Solaranlagen / Aw: 76_SolarForecast - Informa...
Letzter Beitrag von kask - 06 Mai 2024, 14:49:00
Da Haste wahr!
Das das Modul Prüfen muß ob es noch disabled/enabled ist klar.
Sonst wäre es ja für immer "tot".

Habe es für mich mal ausprobiert.
Ist wohl ein FHEM ding da es bei einem AT sich genauso verhält. Denke nicht das es ein Perl "Ding" ist.
defmod ATsec31 at +*00:00:31 {}
Ich vermute jetzt das die Timer immer auf einen Zeitstempel überlaufen also immer absolut sind.
Wenn ich das AT oder dein Modul "aus" und sofort wieder "ein"-schalte dann ist der Zeitstempel noch nicht erreicht. Somit wird da keine neue Zeit geschrieben.
Erst, falls das enabled nach dem Ablauf kommt. Ansonsten kommt der alte noch nicht erreichte Zeitstempel.
War mir so nicht bewusst. Ist mir auch noch nie aufgefallen. Gut zu wissen, danke.

#3
Anfängerfragen / Aw: Kosten im Jahr
Letzter Beitrag von Sebastian84 - 06 Mai 2024, 14:47:53
Wie Update ich denn das?
#4
Einplatinencomputer / Aw: GPIO Bookworm
Letzter Beitrag von gunfried - 06 Mai 2024, 14:26:10
Moinsen zusammen,
eben hat sich meine SD Karte verabschiedet und ich musste den Pi3 für die Terrarien neu aufsetzen. Rasperian (aktuelle Version Bookworm) heruntergeladen, auf die SD übertrage, FHEM installiert,... Alles soweit gut, bis auf dass ich die RPI_GPIO's nicht schalten konnte.

Anstatt hier ins Forum zu schauen, habe ich mich auf die Suche gemacht und bin hier über die Ursache des Problems gestolpert: https://www.thegoodpenguin.co.uk/blog/stop-using-sys-class-gpio-its-deprecated/

Wie ihr schon geschrieben habt, ist unter dem Kernel 6.6 der Zugriff auf die GPIO's nicht mehr über sysfs möglich. Entsprechend funktioniert das FHEM Modul RPI_GPIO nicht mehr unter Bookworm (6.6er Kernel).

Da ich nur 7 GPIO-Ausgänge zu schalten habe, habe ich mir kurzerhand eine kleine Funktion gebastelt und in ein Modul gepackt:
sub set_GPIO($$) {
  my ( $myPort, $myEvent ) = @_;

  my $mytimestamp = int(time());
 
  if ($myEvent eq "on") {
    system("gpioset","gpiochip0",$myPort."=1");
    Log 1,"---> " .localtime($mytimestamp)." GPIO-Port: ". $myPort." --> Event: on";
  } else {
    system("gpioset","gpiochip0",$myPort."=0");
    Log 1,"---> " .localtime($mytimestamp)." GPIO-Port: ". $myPort." --> Event: on";
  }
}

Auf die 7 RPI_GPIO's habe ich mir dann als Pflaster ein Notify gelegt, welches die Funktion aufruft:
define n_TerraLampe_GPIO_13 notify TerraLampe:.* {set_GPIO(13,$EVENT)}
Ich weiß, dass ist keine saubere und dauerhafte Lösung, aber so braucht meine Tochter sich keine akuten Sorgem mehr um ihre Tiere machen ;) . Die RPI_GPIO-Devices habe ich erst einmal unverändert gelassen. Wenn ich das Device nun triggere, dann erscheint zwar eine Meldung im Log...:
2024.05.06 13:50:00 1: Can't open file: TerraLampe, value ... Diese werde ich erst einmal ignorieren.

@klausw: Unter dem oben genannten Link gibt es auch einen Link zu einer Auflistung von verschiedenen Subsystem-Treibern für den GPIO Zugriff. Das könnte für dich interessant sein: https://www.kernel.org/doc/html/v4.17/driver-api/gpio/drivers-on-gpio.html

Vielleicht hilft der Workaround ja dem Einem oder Anderen...

LG
#5
Anfängerfragen / Aw: Kosten im Jahr
Letzter Beitrag von RalfRog - 06 Mai 2024, 14:20:41
Welche Version des Moduls ist denn bei dir aktiv?
@Adimarantis hat die von ihm angepasste Version vor 7 Monaten im SVN eingeheckt... ;)  (Kommentar: 98_statistics: Limit number of decimals)
Bei mir in den Internals steht: "FVERSION  98_statistics.pm:0.280860/2023-10-22"
#6
Anfängerfragen / Aw: Kosten im Jahr
Letzter Beitrag von Sebastian84 - 06 Mai 2024, 14:12:28
Das limitDecimals finde ich nicht.
#7
Sprachsteuerung / Aw: echodevice von einem entfe...
Letzter Beitrag von mrb - 06 Mai 2024, 13:57:48
ich denke die [Enter]nach my $StromValue = ReadingsNum("
jupp war es. An so ner kleinigkeit.......
#8
Sprachsteuerung / Aw: echodevice von einem entfe...
Letzter Beitrag von mrb - 06 Mai 2024, 13:56:34
wo ist da der unterschied?


geht nicht:
HK_ZaehlerAlexa {
  my $StromValue = ReadingsNum("
HK_Zaehler", "power", 100);

  fhem("set ECHO_G0911W0793360SU7 speak Strom verbrauch ist derzeit $StromValue Watt");

  fhem("set ECHO_G0918309033201MV speak Strom verbrauch ist derzeit $StromValue Watt");

  fhem("set ECHO_G090VC07844535KU speak Strom verbrauch ist derzeit $StromValue Watt");}


geht:
HK_ZaehlerAlexa {my $StromValue = ReadingsNum("HK_Zaehler", "power", 100);
  fhem("set ECHO_G0911W0793360SU7 speak Strom verbrauch ist derzeit $StromValue Watt");
  fhem("set ECHO_G0918309033201MV speak Strom verbrauch ist derzeit $StromValue Watt");
  fhem("set ECHO_G090VC07844535KU speak Strom verbrauch ist derzeit $StromValue Watt");}
#9
Sprachsteuerung / Aw: echodevice von einem entfe...
Letzter Beitrag von mrb - 06 Mai 2024, 13:52:16
ich bin verwirrt. jetzt läuft es und ich suche mir nen ast wo der fehler liegt.....
#10
Wunschliste / [gelöst]: AnalyzeCommandChain ...
Letzter Beitrag von bertl - 06 Mai 2024, 13:50:44
Hallo betateilchen,

danke für die schnelle Antwort - habe ich wieder was gelernt.

Nachdem ich perl hauptsächlich durch 'Copy & Paste' verwende (so auch die Funktion 'nonBlocking'), habe ich mir keine weiteren Gedanken über den Rückgabewert gemacht.

Zitat von: betateilchen am 06 Mai 2024, 12:41:15Eine perl Funktion ohne return; zu beenden, funktioniert zwar, aber es ist schlechter Stil.
Zukünftig werde ich deine Anregung berücksichtigen.

Schönne Tag
Robert