Für meine Übersicht habe mir zwei "DOIF-Kollektoren" angelegt. Alle 5 Minuten werden dort die Readings erzeugt, die ich direkt in ESPInk verwenden möchte. Das sieht z.B. für Rolladen und Lampen so aus:
{ [+:05];
my $T = POSIX::strftime('%H:%M', localtime);
my $D = POSIX::strftime('%a, %e. %b %Y', localtime);
my %EinkDevState = ( on => 'light_light_dim_100', off => '');
my %Shutter = (0 => 'fts_window_2w', 10 => 'fts_garage_door_10', 20 => 'fts_garage_door_20', 30 => 'fts_garage_door_30', 40 => 'fts_garage_door_40', 50 => 'fts_garage_door_50', 60 => 'fts_garage_door_60', 70 => 'fts_garage_door_70', 80 => 'fts_garage_door_80', 90 => 'fts_garage_door_90', 100 => 'fts_garage_door_100');
my %ShutterSw = (off => 'fts_shutter_manual', always => 'fts_shutter_automatic', absent => 'fts_shutter_manual', home => 'fts_shutter_manual');
set_Reading_Begin;
set_Reading_Update("Time",$T);
set_Reading_Update("Date",$D);
set_Reading_Update("R_Ankleidezimmer", $Shutter{ReadingsVal("R_Ankleidezimmer","pct",0)});
set_Reading_Update("R_Ankleidezimmer_Up", $ShutterSw{AttrVal("R_Ankleidezimmer","ASC_Mode_Up",0)});
set_Reading_Update("R_Ankleidezimmer_Down", $ShutterSw{AttrVal("R_Ankleidezimmer","ASC_Mode_Down",0)});
set_Reading_Update("R_Wohnzimmer", $Shutter{ReadingsVal("R_Wohnzimmer","pct",0)});
set_Reading_Update("R_Wohnzimmer_Up", $ShutterSw{AttrVal("R_Wohnzimmer","ASC_Mode_Up",0)});
set_Reading_Update("R_Wohnzimmer_Down", $ShutterSw{AttrVal("R_Wohnzimmer","ASC_Mode_Down",0)});
set_Reading_Update("R_Kueche", $Shutter{ReadingsVal("R_Kueche","pct",0)});
set_Reading_Update("R_Kueche_Up", $ShutterSw{AttrVal("R_Kueche","ASC_Mode_Up",0)});
set_Reading_Update("R_Kueche_Down", $ShutterSw{AttrVal("R_Kueche","ASC_Mode_Down",0)});
set_Reading_Update("R_WC", $Shutter{ReadingsVal("R_WC","pct",0)});
set_Reading_Update("R_WC_Up", $ShutterSw{AttrVal("R_WC","ASC_Mode_Up",0)});
set_Reading_Update("R_WC_Down", $ShutterSw{AttrVal("R_WC","ASC_Mode_Down",0)});
set_Reading_Update("R_HWR", $Shutter{ReadingsVal("R_HWR","pct",0)});
set_Reading_Update("R_HWR_Up", $ShutterSw{AttrVal("R_HWR","ASC_Mode_Up",0)});
set_Reading_Update("R_HWR_Down", $ShutterSw{AttrVal("R_HWR","ASC_Mode_Down",0)});
set_Reading_Update("R_Buero", $Shutter{ReadingsVal("R_Buero","pct",0)});
set_Reading_Update("R_Buero_Up", $ShutterSw{AttrVal("R_Buero","ASC_Mode_Up",0)});
set_Reading_Update("R_Buero_Down", $ShutterSw{AttrVal("R_Buero","ASC_Mode_Up",0)});
set_Reading_Update("R_Bibliothek", $Shutter{ReadingsVal("R_Bibliothek","pct",0)});
set_Reading_Update("R_Bibliothek_Up", $ShutterSw{AttrVal("R_Bibliothek","ASC_Mode_Up",0)});
set_Reading_Update("R_Bibliothek_Down", $ShutterSw{AttrVal("R_Bibliothek","ASC_Mode_Down",0)});
set_Reading_Update("R_Bad", $Shutter{ReadingsVal("R_Bad","pct",0)});
set_Reading_Update("R_Bad_Up", $ShutterSw{AttrVal("R_Bad","ASC_Mode_Up",0)});
set_Reading_Update("R_Bad_Down", $ShutterSw{AttrVal("R_Bad","ASC_Mode_Down",0)});
set_Reading_Update("R_Schlafzimmer", $Shutter{ReadingsVal("R_Schlafzimmer","pct",0)});
set_Reading_Update("R_Schlafzimmer_Up", $ShutterSw{AttrVal("R_Schlafzimmer","ASC_Mode_Up",0)});
set_Reading_Update("R_Schlafzimmer_Down", $ShutterSw{AttrVal("R_Schlafzimmer","ASC_Mode_Down",0)});
set_Reading_Update("BueroTischLampe",$EinkDevState{ReadingsVal("BueroTischLampe","state",0)});
set_Reading_Update("BueroTischStrahler",$EinkDevState{ReadingsVal("BueroTischStrahler","state",0)});
set_Reading_Update("BuerodeckenStrahler",$EinkDevState{ReadingsVal("BuerodeckenStrahler","state",0)});
set_Reading_Update("Ankleideschrank",$EinkDevState{ReadingsVal("AnkleideDose","state",0)});
set_Reading_Update("AnkleideStrahler",$EinkDevState{ReadingsVal("AnkleideStrahler","state",0)});
set_Reading_Update("AussenNord",$EinkDevState{ReadingsVal("AussenNord","state",0)});
set_Reading_Update("AussenOst",$EinkDevState{ReadingsVal("AussenOst","state",0)});
set_Reading_Update("AussenSued",$EinkDevState{ReadingsVal("AussenSued","state",0)});
set_Reading_Update("AussenWest",$EinkDevState{ReadingsVal("AussenWest","state",0)});
set_Reading_Update("BadStrahler",$EinkDevState{ReadingsVal("BadStrahler","state",0)});
set_Reading_Update("BibliothekLampe",$EinkDevState{ReadingsVal("BibliothekLampe","state",0)});
set_Reading_Update("BibliothekStrahler",$EinkDevState{ReadingsVal("BibliothekStrahler","state",0)});
set_Reading_Update("EsszimmerAnrichte",$EinkDevState{ReadingsVal("EsszimmerAnrichte","state",0)});
set_Reading_Update("EsszimmerLampe",$EinkDevState{ReadingsVal("EsszimmerLampe","state",0)});
set_Reading_Update("EsszimmerStrahler",$EinkDevState{ReadingsVal("EsszimmerStrahler","state",0)});
set_Reading_Update("Globus",$EinkDevState{ReadingsVal("HS100_WLAN4","state",0)});
set_Reading_Update("HWR",$EinkDevState{ReadingsVal("HWR","state",0)});
set_Reading_Update("KuechePlatte",$EinkDevState{ReadingsVal("KuechePlatte","state",0)});
set_Reading_Update("KuecheStrahler",$EinkDevState{ReadingsVal("KuecheStrahler","state",0)});
set_Reading_Update("KuecheTisch",$EinkDevState{ReadingsVal("KuecheTisch","state",0)});
set_Reading_Update("SchlafzimmerBettLinks",$EinkDevState{ReadingsVal("SchlafzimmerBettLinks","state",0)});
set_Reading_Update("SchlafzimmerBettRechts",$EinkDevState{ReadingsVal("SchlafzimmerBettRechts","state",0)});
set_Reading_Update("SchlafzimmerDeckenStrahler",$EinkDevState{ReadingsVal("SchlafzimmerDeckenStrahler","state",0)});
set_Reading_Update("Terrasse",$EinkDevState{ReadingsVal("Terrasse","state",0)});
set_Reading_Update("WindfangLampe",$EinkDevState{ReadingsVal("WindfangLampe","state",0)});
set_Reading_Update("FlurStrahler",$EinkDevState{ReadingsVal("FlurStrahler","state",0)});
set_Reading_Update("WC_Deckenstrahler",$EinkDevState{ReadingsVal("WC_Deckenstrahler","state",0)});
set_Reading_Update("WohnzimmerStehlampe",$EinkDevState{ReadingsVal("WohnzimerDose3","state",0)});
set_Reading_Update("WohnzimmerSchirmlampe",$EinkDevState{ReadingsVal("WohnzimerDose4","state",0)});
set_Reading_Update("WohnzimmerBaum",$EinkDevState{ReadingsVal("WohnzimerDose5","state",0)});
set_Reading_Update("WohnzimmerStrahler1",$EinkDevState{ReadingsVal("WohnzimmerStrahler1","state",0)});
set_Reading_Update("WohnzimmerHifi",$EinkDevState{ReadingsVal("WohnzimmerStrahler2","state",0)});
set_Reading_Update("WohnzimmerTank",$EinkDevState{ReadingsVal("WohnzimmerTank","state",0)});
set_Reading_End(1);
}
Ich habe einen ESP8266 mit V17 im Einsatz. Die Kombi läuft völlig stabil. Das eine oder andere Problemchen habe ich nur mit dem ESPInk. Ich habe daher ESPInk aus dem fhem-update herausgenommen um ein paar individuelle Anpassungen zu behalten bzw. testen zu können. Z.B. ist mein 7,5" HD nur als B&W in der Displayliste. Nach einem Neustart würde der colormode immer wieder ausgeschaltet werden.
Testergebnis folgt später.