FOSHKplugin

Für Geräte von froggit
Benutzeravatar
moppedhausi
Offline
Beiträge: 120
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 39 mal
Danksagung erhalten: 4 mal
Kontaktdaten:

Re: FOSHKplugin

#181

Beitrag von moppedhausi »

olicat hat geschrieben: 16 Mär 2023, 11:16 Das sollte sich so also auch fuer TAGFILE und BANNER realisieren lassen - ich habe das aber noch nicht getestet.

Oliver
Heute mal getestet, Ergebnis: &raspiruntime=1678999790
Benutzeravatar
olicat
Offline
Beiträge: 1661
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 19 mal
Danksagung erhalten: 313 mal
Kontaktdaten:

Re: FOSHKplugin

#182

Beitrag von olicat »

Hi!
Ergebnis: &raspiruntime=1678999790
Korrekt. Dieser Unix-Timestamp entspricht 16.03.2023 - 21:49:50.
Das koennte die Bannerfunktion dann wieder in eine menschenlesbare Zeit konvertieren.
Du koenntest natuerlich auch gleich die lesbare Zeit als Variable uebernehmen:
date -d "$(uptime -s)" "+%x %r"

Oliver
Benutzeravatar
moppedhausi
Offline
Beiträge: 120
Registriert: 08 Dez 2020, 09:17
Wohnort: Willich
Hat sich bedankt: 39 mal
Danksagung erhalten: 4 mal
Kontaktdaten:

Re: FOSHKplugin

#183

Beitrag von moppedhausi »

olicat hat geschrieben: 16 Mär 2023, 22:24
Du koenntest natuerlich auch gleich die lesbare Zeit als Variable uebernehmen:
date -d "$(uptime -s)" "+%x %r"
Guten Morgen Oliver,
könntest Du bitte ein Beispiel zeigen, wie ich die Variable date -d "$(uptime -s)" "+%x %r" in meine Banner.conf einbauen muss?
Benutzeravatar
olicat
Offline
Beiträge: 1661
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 19 mal
Danksagung erhalten: 313 mal
Kontaktdaten:

Re: FOSHKplugin

#184

Beitrag von olicat »

Hallo Wilfried,

die Antwort dauerte etwas laenger, weil ich erst beim Test feststellen musste, dass die Script-Funktion fuer BANNER- und TAGFILE-Forwards noch nicht so funktionert wie eigentlich erwartet.
:-#
Mit meiner Arbeits-Version von FOSHKplugin klappt das jetzt aber - siehe hier. Vermutlich werde ich morgen dann diese Version auch den internen Beta-Testern zur Verfuegung stellen.
Der Forward sieht so aus:

Code: Alles auswählen

[Forward-37]
FWD_ENABLE = True
FWD_CMT = Banner-Test Wilfried
FWD_OPTION = bannerconfig=banner-mopped.conf
FWD_URL = ftps://der.entfernte.server/mit/dem/verzeichnis/banner/img/
FWD_INTERVAL = 
FWD_IGNORE = 
FWD_TYPE = BANNER
FWD_SID = ftpuser
FWD_PWD = ftppassword
FWD_EXEC = ./banner-mopped.sh
Dazu dann die banner-mopped.conf:

Code: Alles auswählen

[Banner]

image_name = banner-mopped.png                              # filename
image_width = 300
image_height = 115
#image_background = lightyellow                                 # may be transparent, any color, http colorcode (with $ instead of +) or a filename
image_background = Khaki
dtime_format = "%A, %d.%m.%Y %H:%M:%S"                         # see https://www.w3schools.com/python/python_datetime.asp
#locale_format = "en_US.utf8"                                   # use de_DE.utf8 for German terms in dates (Montag, Mai)
locale_format = "de_DE.UTF-8"                                  # nutze en_US.UTF-8 für englische Wochentags- und Monatsnamen
rounded_corners = True                                         # rounded corners; available for png/gif only, you may specify the radius by n instead of True (default: 10)

#logo_1 = y,x,name,condition                                   # you may specify up to 100 logos, name them logo_2, logo_3, logo_4 ...
logo_1 = 10,230,foshkplugin.png,@lightning_num = 0             # the 4. column may be a condition to embed this logo: @fieldname >= value (e.g. @tempf <= 32)
logo_2 = 10,230,weather_thunderstorm72b.png,@lightning_num > 0

header_font_name = DejaVuSansMono.ttf                          # if font file is unavailable the font DejaVuSansMono.ttf will be used
header_font_color = black                                      # may be any color name or the http color code (use $ instead of #)
header_font_size = 8                                           # font size in pixel
header_pre_count = 32                                          # length of the output value - padded with spaces if necessary
header_dec_count =                                             # default of decimal places - will be rounded
#header_1 = y,key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni
header_1 = 0,130,$datetime,,,,,,,,

custom_font_name = DejaVuSansMono.ttf
custom_font_color = black
custom_font_size = 14
custom_dtime_format = "%d.%m.%Y"
#line_1 = y,key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni, key_pos,key,val_pos,value,uni
custom_1 = 17,10,Windrun:,140,windrunkm, km,,,,,,,,,,
custom_2 = 32,10,Solarsumme:,140,srsum, W/m²,,,,,,,,,,
custom_3 = 47,10,Server is up,140,server_uptime,,,,,,,,,,,

custom1_font_name = DejaVuSansMono.ttf
custom1_font_color = black
custom1_font_size = 14
custom1_dec_count = 1
custom1_dtime_format = "%H:%M:%S"
custom1_1 = 62,10,since:,140,server_uptime,,,,,,,,,,,
custom1_2 = 77,10,runtime:,140,srv_uptime,,,,,,,,,,,

footer_font_name = DejaVuSansMono.ttf
footer_font_color = black
footer_font_size = 16
footer_1 = 95,10,PWS Hohen Neuendorf\, Germany,,,,,,,,

custom3_font_name = DejaVuSansMono.ttf                          # just to show the possibilities
custom3_font_color = red
custom3_font_size = 16
custom3_1 = 96,11,PWS Hohen Neuendorf\, Germany,,,,,,,,

special_font_name = DejaVuSansMono.ttf                         # just to show the possibilities
special_font_color = yellow
special_font_size = 16
special_1 = 97,12,PWS Hohen Neuendorf\, Germany,,,,,,,,

# you may define addituinal font types by custom4 and custom5 - each line then needs the name custom4_n, custom5_n and so on - where n is a unique number from 1-100
Und schliesslich das Shellscript banner-mopped.sh:

Code: Alles auswählen

#!/bin/bash
instr="$@"

# get Raspi runtime as timestamp
server_uptime=$(date -d "$(uptime -s)" +%s)
if [ ! -z "$server_uptime" ]; then srstring=" server_uptime=$server_uptime"; fi

# get Raspi runtime as string
diff=$(($(date +%s) - $(date -d "$(uptime -s)" +%s)))
days=$(($diff / 86400))
srv_uptime=$(date -d@$diff -u "+$days%%20Tage%%20%H:%M:%S")
if [ ! -z "$srv_uptime" ]; then sustring=" srv_uptime=$srv_uptime"; fi

# output added line
echo "in:  ${instr}">>banner-mopped.log
echo "out: ${instr}${srstring}${sustring}">>banner-mopped.log
echo "${instr}${srstring}${sustring}"
Die per EXEC zugefuegten Werte lassen sich dann auch in einem TAGFILE-Forward und sogar im TTS-Audio (man beachte den letzten Satz) nutzen.

Oliver
Benutzeravatar
olicat
Offline
Beiträge: 1661
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 19 mal
Danksagung erhalten: 313 mal
Kontaktdaten:

Re: FOSHKplugin

#185

Beitrag von olicat »

Hallihallo!

Inzwischen habe ich den oeffentlichen Beta-Test von FOSHKplugin v0.10 gestartet.
Wer mag oder die neuen Funktionen nutzen moechte, darf also gern updaten und testen.

Fuer eine Demonstration der Moeglichkeiten des TAGFILE-Forwards habe ich jetzt mal eine weitere Seite mit Live-Daten dazu ins Netz gestellt. Diese Seite wird auf Grundlage eines Templates von FOSHKplugin erzeugt und im Intervall zum Webserver per FTP uebertragen.

Man kann sich da nach Belieben austoben - meine Kenntnisse in html und CSS sind leider beschraenkt. Die Moeglichkeiten sind aber wohl sichtbar.

Oliver
Benutzeravatar
Gyvate
Offline
Beiträge: 1630
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 5 mal
Danksagung erhalten: 217 mal
Kontaktdaten:

Re: FOSHKplugin

#186

Beitrag von Gyvate »

sehr inspirierendes Beispiel :thumbup:
Ecowitt WS2320E, HP2553, GW2001 (Wittboy)- DP1500, GW1100, GW1000, WH2650, Meteobridge RPi4B-2GB/16GB SLC 2894, Weewx 4.5.1/4.9.1, CumulusMX 3.25.1 b3244, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Antworten