ich bin gerade dabei in die readingsGroup die möglichkeit einzubauen neben set kommandos auch attribute setzen zu können.
mit einer kleinen erweiterung von FW_replaceWidgets kann man die komplette infrastruktur die für widgets und das set kommando schon vorhanden ist auch für das attr kommando verwenden:--- fhemweb.js (revision 8750)
+++ fhemweb.js (working copy)
@@ -37,10 +37,12 @@
var cmd=$(this).attr("cmd");
var rd=$(this).attr("reading");
var params = cmd.split(" ");
+ var type=$(this).attr("type");
+ if( type == undefined ) type = "set";
FW_replaceWidget(this, dev, $(this).attr("arg").split(","),
$(this).attr("current"), rd, params[0], params.slice(1),
function(arg) {
- FW_cmd(FW_root+"?cmd=set "+dev+(params[0]=="state" ? "":" "+params[0])+
+ FW_cmd(FW_root+"?cmd="+type+" "+dev+(params[0]=="state" ? "":" "+params[0])+
" "+arg+"&XHR=1");
});
});
ein widget für ein attr kommando würde dann analog zum set widget einem zusätzlichen type='attr' im <div class='fhemWidget' ...> erzeugt.
das einzige das etwas unglücklich ist ist die benennung der parameter type und cmd. mir fallen aber keine besseren ein.
würdest du das bitte einchecken?
mit ähnlich kleinem aufwand könnte man auch longpoll für attribute einbauen. die events gibt es ja inzwischen. würdest du einen solchen patch auch einbauen?
gruss
andre
Habs eingecheckt, obwohl ich es noch nicht so recht sehe, wo es benoetigt wird.
Ich kann auch einen attr longpoll Patch einbauen, ist aber meines Verstaendnis nach nur sehr begrenzt vom Nutzen: einzelne Werte im detailAnsicht werden aktualisiert, wenn in einem anderen Browser manuell was geaendert wurde (Attribute sollten ja nicht automatisch geaendert werden). Neu gesetzte Attribute hingegen werden nicht angezeigt, das koennte die Leute verwirren.
danke.
damit lassen sich dann z.b. in einer übersichts readingGroup auch attribute ändern. z.b. disable setzen. hier kann ich auch noch nicht gesetzte attribute anzeigen.
das würde sieht dann so aus wie auf dem bild im anhang. da sind alle WeekdayTimer mit aktuellem und nächstem zustand und der nächsten schaltzeit angezeigt sowie der disable zustand. das ganze kann man auch für heizung oder anderes verwenden.
das neue werte nicht angezeigt werden gilt in der detail ansicht auch für readings. und ist eigentlich genau so unpraktisch. ich bin schon eine weile am überlegen wie sich das ändern lässt.