ESP8266 OLED Benzinpreise

Begonnen von patman1607, 08 März 2018, 22:26:47

Vorheriges Thema - Nächstes Thema

patman1607

Hey zusammen,

hier mal nur eine kurze Vorstellung zum Projekt Oled. Beim Durchforsten sämtlicher HowTos und Wikis ist eine Spritpreisanzeige auf einem OLED entstanden.

ESPeasyMEGA

define ESPEasy_wemos_test_OLED ESPEasy 192.168.0.244 80 espBridge wemos_test_OLED
attr ESPEasy_wemos_test_OLED IODev espBridge
attr ESPEasy_wemos_test_OLED Interval 300
attr ESPEasy_wemos_test_OLED group ESPEasy Device
attr ESPEasy_wemos_test_OLED presenceCheck 1
attr ESPEasy_wemos_test_OLED readingSwitchText 1
attr ESPEasy_wemos_test_OLED room ESPEasy
attr ESPEasy_wemos_test_OLED setState 3


httpmod  von www.clever-tanken.de Tankstellen. Das XXXX ist die Tankstelle.


###Shell
define Shell HTTPMOD http://www.clever-tanken.de/tankstelle_details/XXXX 1800
attr Shell userattr reading01Name reading01Regex reading02Name reading02Regex
attr Shell group Spritpreise
attr Shell icon car
attr Shell reading01Name Diesel
attr Shell reading01Regex <span>Diesel</span>[^0-9]+([0-9\.]+)
attr Shell reading02Name SuperE5
attr Shell reading02Regex <span>Super E5</span>[^0-9]+([0-9\.]+)
attr Shell room Spritpreise
attr Shell stateFormat Liter_Diesel: Diesel
attr Shell timeout 5
### STAR
define Star HTTPMOD http://www.clever-tanken.de/tankstelle_details/XXXX 1800
attr Star userattr reading01Name reading01Regex reading02Name reading02Regex
attr Star group Spritpreise
attr Star icon car
attr Star reading01Name Diesel
attr Star reading01Regex <span>Diesel</span>[^0-9]+([0-9\.]+)
attr Star reading02Name SuperE5
attr Star reading02Regex <span>Super E5</span>[^0-9]+([0-9\.]+)
attr Star room Spritpreise
attr Star stateFormat Liter_Diesel: Diesel
attr Star timeout 5
###BFT_Walther
define BFT_Walther HTTPMOD http://www.clever-tanken.de/tankstelle_details/XXXX 1800
attr BFT_Walther userattr reading01Name reading01Regex reading02Name reading02Regex
attr BFT_Walther group Spritpreise
attr BFT_Walther icon car
attr BFT_Walther reading01Name Diesel
attr BFT_Walther reading01Regex <span>Diesel</span>[^0-9]+([0-9\.]+)
attr BFT_Walther reading02Name SuperE5
attr BFT_Walther reading02Regex <span>Super E5</span>[^0-9]+([0-9\.]+)
attr BFT_Walther room Spritpreise
attr BFT_Walther stateFormat Liter_Diesel: Diesel
attr BFT_Walther timeout 5
###Tankcenter
define TankCenter HTTPMOD http://www.clever-tanken.de/tankstelle_details/XXXX 1800
attr TankCenter userattr reading01Name reading01Regex reading02Name reading02Regex
attr TankCenter group Spritpreise
attr TankCenter icon car
attr TankCenter reading01Name Diesel
attr TankCenter reading01Regex <span>Diesel</span>[^0-9]+([0-9\.]+)
attr TankCenter reading02Name SuperE5
attr TankCenter reading02Regex <span>Super E5</span>[^0-9]+([0-9\.]+)
attr TankCenter room Spritpreise
attr TankCenter stateFormat Liter_Diesel: Diesel
attr TankCenter timeout 5
###logfile
define FileLog_Spritpreise FileLog ./log/spritpreise-NK-%Y-%m.log (Shell|Star|BFT_Walther|TankCenter):(SuperE5|Diesel).*
attr FileLog_Spritpreise alias Log Spritpreise
attr FileLog_Spritpreise logtype text
###ReadingGroup
define Benzinpreise readingsGroup (Shell|Star|BFT_Walther|TankCenter):(SuperE5|Diesel).*
attr Benzinpreise notime 1
attr Benzinpreise room Spritpreise
attr Benzinpreise valueFormat {'%.2f €'}
#attr Spritpreise style style="font-size:16px"     # führt ggf. zu einem PERL WARNING
#attr Spritpreise valueStyle {Werte($READING,$VALUE)}     # führt ggf. zu einem PERL WARNING
###Plot
define SVG_FileLog_Spritpreise_1 SVG FileLog_Spritpreise:SVG_FileLog_Spritpreise_1:CURRENT
attr SVG_FileLog_Spritpreise_1 group Spritpreisverlauf
attr SVG_FileLog_Spritpreise_1 room Spritpreise


hier werden die Readings an das OLED gesendet


define t_oled_at at +*00:02:00 { system('curl http://192.168.0.244/control?cmd=oled,7,2,' . "D%20" . ReadingsVal("Shell","Diesel",0) . "%20E5%20" . ReadingsVal("Shell","SuperE5",0))};;{ system('curl http://192.168.0.244/control?cmd=oled,4,2,' . "D%20" . ReadingsVal("BFT_Walther","Diesel",0) . "%20E5%20" . ReadingsVal("BFT_Walther","SuperE5",0))};;{ system('curl http://192.168.0.244/control?cmd=oled,6,2,' . "Shell" )};;{ system('curl http://192.168.0.244/control?cmd=oled,3,2,' . "BFT%20Walther" )}
attr t_oled_at room ESPEasy
Fritte 7950
FHEM on RasPi 3

dev0

Gibt es einen bestimmten Grund warum Du im at einen blockierenden shell command (system) nutzt und nicht einfach ein "set <esp> oled ..."?

patman1607

Ich hatte es so auf diesem Weg am besten verstanden mit um die Readings zu senden.
Über den set Befehl sollte es auch gehen
Fritte 7950
FHEM on RasPi 3