Autor Thema: Reading auftrennen und verarbeiten  (Gelesen 2861 mal)

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4385
  • Wer anderen eine Bratwurst brät...
    • Buy me a coffee
Antw:Reading auftrennen und verarbeiten
« Antwort #30 am: 17 September 2019, 13:18:48 »
Gibt es hier vom TE noch irgendwann eine Rückmeldung ob die von den Helfern gegebenen Tipps nützlich waren?

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Byte09

  • Gast
Antw:Reading auftrennen und verarbeiten
« Antwort #31 am: 17 September 2019, 13:31:16 »
Ist mittlerweile unmodern [emoji12]

gruss Thomas

Gesendet von meinem ELE-L29 mit Tapatalk


Offline Beta-User

  • Developer
  • Hero Member
  • ****
  • Beiträge: 15787
Antw:Reading auftrennen und verarbeiten
« Antwort #32 am: 17 September 2019, 13:33:59 »
...Glaube nicht, dass da noch was kommt (bestenfalls ein [gelöst]... ;) ?) - er hat das ja so getestet wie von Byte09 vorgeschlagen und das auch für gut befunden und rückgemeldet...

Das "Bauchweh" wegen der verwaisten Internal-Struktur kann man nur verstehen, wenn man etwas tiefer in der Materie drin ist; hier dürfte das auch unproblematisch sein, denn vermutlich füllt der Mower die Struktur ja sowieso regelmäßig und löscht sie (hoffentlich), wenn das Device gelöscht wird.
Server: HP-T620@Debian 10, aktuelles FHEM + ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn:MySensors, Weekday-&RandomTimer, Twilight,  AttrTemplate {u.a. mqtt2, mysensors, zwave}

Offline jfi1310

  • New Member
  • *
  • Beiträge: 16
Antw:Reading auftrennen und verarbeiten
« Antwort #33 am: 22 September 2019, 13:20:09 »
Gibt es hier vom TE noch irgendwann eine Rückmeldung ob die von den Helfern gegebenen Tipps nützlich waren?

Gruß
Dan

Sorry für die späte Reaktion!
Das ganze Projekt läuft mittlerweile mit der von Byte09 vorgeschlagenen Lösung.
Das Problem bezüglich verwaister Einträge kann ich nicht 100%ig nachvollziehen, aber ich nehme an, dass dadurch allenfalls die Performance beeinflusst wird? Das wäre wiederum unkritisch, da der Pi ausschließlich für diese Funktion genutzt wird.

Vielen Dank euch allen für die Unterstützung! :)

Offline 300DW124

  • Newbie
  • Beiträge: 2
Antw:Reading auftrennen und verarbeiten
« Antwort #34 am: 16 September 2021, 09:52:02 »
Hallo
Würde gerne das notify von DeeSP benutzen, bekomme es aber nicht hin.
Angesteuert wird mein Garagentor über eine DECT Steckdose von AVM
Das Dect Modul  FBAHAHTTP   FBDECT und das HusqvarnaAutomower Modul sind eingerichtet und funktionieren.
Ich kann das Garagentor mit folgendem Befehl öffnen
set Hundehuette on.

Da ich kein Perl Experte bin wäre ich für eine Anleitung dankbar.


Offline Otto123

  • Tester
  • Hero Member
  • ****
  • Beiträge: 19528
  • schon mal restore trainiert?
    • Otto's Technik Blog
Antw:Reading auftrennen und verarbeiten
« Antwort #35 am: 16 September 2021, 14:47:56 »
Vielleicht hilft diese Anleitung fürs notify?
https://wiki.fhem.de/wiki/Notify

Weil mehr kann ich da nicht beitragen zur Aussage: "Bekomme es nicht hin" :)

Wenn es mehr Infos gäbe - könnte man sich hineinversetzen -> https://forum.fhem.de/index.php/topic,71806.0.html
Viele Grüße aus Leipzig
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7490+7412,WRT1900ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266

Offline 300DW124

  • Newbie
  • Beiträge: 2
Antw:Reading auftrennen und verarbeiten
« Antwort #36 am: 17 September 2021, 14:27:52 »
Hallo
Habe das notify von Dan benutzt, mein Garagentor wird über eine Dect - Steckdose von AVM gesteuert die ich Hundehuette genannt habe.

Original notify von Dan

defmod n_myMower notify myMower:mower_nextStart:.* {\
  if ($EVTPART1 eq "Today")\
  {\
    # Zeit aus Reading holen\
    my $time = $EVTPART3;;\
    # Zeit in Stunden und Minuten aufteilen\
    my ($h,$m) = split ":",$time;;\
    # Gesamt-Sekunden aus Stunden und Minuten berechnen\
    my $s = $h*3600 + $m*60;;\
    # Vorlaufzeit abziehen (hier 2,5 min.)\
    $s = $s-150;;\
    # Stunden neu berechnen\
    $h = int($s / 3600);;\
    # Minuten neu berechnen\
    $m = int(($s-$h*3600)/60);;\
    # Sekunden neu berechnen\
    $s = ($s % 60);;\
    # formatieren der Uhrzeit\
    my $open = sprintf ("%02d:%02d:%02d",$h,$m,$s);;\
    # at definieren zum Öffnen der Garage\
    fhem "defmod at_myMower_open_garage at $open set myGarage open";;\
  }\
}

Das geänderte von mir

defmod n_myMower notify myMower:mower_nextStart:.* {\
  if ($EVTPART1 eq "Today")\
  {\
    # Zeit aus Reading holen\
    my $time = $EVTPART3;;\
    # Zeit in Stunden und Minuten aufteilen\
    my ($h,$m) = split ":",$time;;\
    # Gesamt-Sekunden aus Stunden und Minuten berechnen\
    my $s = $h*3600 + $m*60;;\
    # Vorlaufzeit abziehen (hier 2,5 min.)\
    $s = $s-150;;\
    # Stunden neu berechnen\
    $h = int($s / 3600);;\
    # Minuten neu berechnen\
    $m = int(($s-$h*3600)/60);;\
    # Sekunden neu berechnen\
    $s = ($s % 60);;\
    # formatieren der Uhrzeit\
    my $open = sprintf ("%02d:%02d:%02d",$h,$m,$s);;\
    # at definieren zum Öffnen der Garage\
    fhem "defmod at_myMower_open_garage at $on set Hundehuette on";;\
  }\
}

Funktioniert leider nicht
Gruß
Manni
« Letzte Änderung: 17 September 2021, 14:32:59 von 300DW124 »

Offline DeeSPe

  • Developer
  • Hero Member
  • ****
  • Beiträge: 4385
  • Wer anderen eine Bratwurst brät...
    • Buy me a coffee
Antw:Reading auftrennen und verarbeiten
« Antwort #37 am: 17 September 2021, 14:42:03 »
defmod n_myMower notify myMower:mower_nextStart:.* {\
  if ($EVTPART1 eq "Today")\
  {\
    # Zeit aus Reading holen\
    my $time = $EVTPART3;;\
    # Zeit in Stunden und Minuten aufteilen\
    my ($h,$m) = split ":",$time;;\
    # Gesamt-Sekunden aus Stunden und Minuten berechnen\
    my $s = $h*3600 + $m*60;;\
    # Vorlaufzeit abziehen (hier 2,5 min.)\
    $s = $s-150;;\
    # Stunden neu berechnen\
    $h = int($s / 3600);;\
    # Minuten neu berechnen\
    $m = int(($s-$h*3600)/60);;\
    # Sekunden neu berechnen\
    $s = ($s % 60);;\
    # formatieren der Uhrzeit\
    my $open = sprintf ("%02d:%02d:%02d",$h,$m,$s);;\
    # at definieren zum Öffnen der Garage\
    fhem "defmod at_myMower_open_garage at $on set Hundehuette on";;\
  }\
}

In der letzten Zeile "$on" muss "$open" sein.
Das sollte aber auch eine entsprechende Fehlermeldung im Log geben da "$on" gar nicht definiert wurde.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

 

decade-submarginal