Hallo ich habe folgendes Problem:
Ich habe ein eigenes Modul für das Auslesen meiner Viessmann Heizung geschrieben.
Habe nun das folgende Device konfiguriert:
define Heizung VIESSMANN 180
attr Heizung event-on-change-reading .*
attr Heizung setList state:ABSCHALT,HWW,WW
attr Heizung webCmd state:
Nun wird mir leider nicht wie bei meinen Dummy Devices eine Dropdown-Liste mit den Werten hinter state angezeigt,
sondern nur das Wort "state".
Hatte schon mal jemand ähnliche Probleme mit anderen Devices und webCmd?
Muss ich vielleicht in meinem Modul noch mehr implementieren?
Bisher habe ich wie in 98_dummy.pm die SetList als Attribut mit hinzugenommen.
Für Hinweise wäre ich Super dankbar.
Adam
es reicht nicht wenn du nur das attribut einbaus. du musst es auch verwenden. für ein modul das eine feste funktionalität bereit stellt ist es aber eigentlich auch nicht sinnvoll das über ein setList attribut konfigurierbar zu machen.
du musst in deinem modul die antwort auf ein 'set <dein device> ?' implementieren. darüber findet das web frontend raus welche kommandos mit welchen parametern ein device versteht. versuch doch einfach mal was deine dummys oder andere devices darauf antworten.
gruss
andre
hi, danke schon mal, aber:
ich habe eine VIESSMANN_Set($@) implementiert. Damit kann ich dann auch in der Eingabezeile in FHEM
z.B. set Heizung HWW ausführen und mein Device wird entsprechend gesetzt (und natürlich an die Heiung weitergegeben ;-) ).
Ich hätte jedoch gerne eine Dropdown Liste, die ich dann auf meinem Tablet nur noch anklicken muss
und nicht alles eingeben muss.
Ich habe versucht alles aus Dummy zu übernehmen, was mir relevant vorkam. (der code von Dummy ist ja sehr übersichtlich)
d.h.:
in VIESSMANN_Initialize($): $hash->{AttrList} = "disable:0,1 setList ". $readingFnAttributes;
in VIESSMANN_Set($@) : my $setList = AttrVal($pn, "setList", " ");
Bitte die Antwort von justme1968 genau lesen.
dummy ist nicht das ideale Modul zum kopieren.
Danke, hätte erst nach dem ersten Kaffee antworten sollen ;)
Werde mein Glück heute Abend einmal versuchen!
Hallo, kannst du dann dein Ergebniss hier posten, würde mich für was anders interessieren
Also meine Lösung sieht nun wie folgt aus (nachdem ich das ? aus dem post von justme1968 richtig interpretiert habe ;-) ):
in VIESSMANN_Initialize($):
$hash->{AttrList} = "disable:0,1 setList ". $readingFnAttributes;
in VIESSMANN_Set($@) :
my $setList = AttrVal($pn, "setList", " ");
return "Unknown argument ?, choose one of $setList" if( $arg eq "?");
und als Attribute sind dann gesetzt:
setList state:AUS,HWW,WW,P-ON,P-OFF,S-ON,S-OFF
webCmd state:
(Ich habe es nicht geschafft aus dem Modul heraus eine Liste vorzugeben, die dann ohne setList ein dropdown anzeigt.
Nur in der detail Ansicht des Devices.)
Ich kann aber mit dieser Lösung leben!
achja und Danke an Andre und Rudolf ;D
ein gutes Beispiel, bin auch gerade an ähnlichem Thema dran.... muß ich mal testen Danke!
Hallo,
Wo wird das genau eingetragen in den 99_utils.pm?
in VIESSMANN_Initialize($):
$hash->{AttrList} = "disable:0,1 setList ". $readingFnAttributes;
in VIESSMANN_Set($@) :
my $setList = AttrVal($pn, "setList", " ");
return "Unknown argument ?, choose one of $setList" if( $arg eq "?");
und als Attribute sind dann gesetzt:
setList state:AUS,HWW,WW,P-ON,P-OFF,S-ON,S-OFF
webCmd state:
Danke schön
Benni
Ja also das muss in das Modul rein, dass Dein Device abbildet.
Bei mir war es ein selbst geschriebenes Modul mit dem Namen 99_VIESSMANN.pm
Intern "muss" es ja dann Routinen geben die
<modulname>_Initialize($) oder <modulname>_Set($@) heissen
Das Attribut setList und webCmd wird dann in deiner cfg konfiguriert oder über FHEMWEB!
Hoffe das hilft weiter.
Adam
Also für ein Dummy geht ja eigentlich schon so, ohne in einem eigenen Modul was anzupassen:
So müsste es eigentlich gehen:
define test_dummy dummy
attr test_dummy setList state:wert1,wert2,wert3
attr test_dummy webcmd state
Gruß
Adam
Zitat von: Adam am 05 Februar 2014, 12:03:47
Also für ein Dummy geht ja eigentlich schon so, ohne in einem eigenen Modul was anzupassen:
So müsste es eigentlich gehen:
define test_dummy dummy
attr test_dummy setList state:wert1,wert2,wert3
attr test_dummy webcmd state
Gruß
Adam
Sorry, ich hatte es Gestern versucht und es ging nicht, gerade zum Zeitvertreib nochmals eingecheckt und es ging.... ;)
danke!
hi leute,
ich wäre auch stark interessiert in einem modul für Viessmann-heizung, ich wollte gerade auch sowas basteln :)
@adam, könntest du vielleicht dein modul hier posten oder mir per pm schicken?
danke
steve.
Hallo Steve ,
Hier habe ich mal mein altes Modul gepostet:
http://forum.fhem.de/index.php?topic=11874.new;topicseen#new (http://forum.fhem.de/index.php?topic=11874.new;topicseen#new)
Habe aber gerade ein neues Modul geschrieben, dass ohne vcontrol und vclient direkt auf der seriellen Schnittstelle
meine Heizung ausliest. Meine Heizungsteuerung ist vom Typ Vitotronic 200 KW1.
Ich teste es gerade. Und wenn es stabil läuft werde ich es hier im forum Posten.
Diese Lösung ist tausendmal besser, da sie vernünftig in fhem integriert ist und auf Windows und Linux laufen sollte.
Mein altes Modul wird ohne Anpassung nicht auf Linux laufen.
Also noch ein bisschen Geduld ;-)
Adam
ZitatDiese Lösung ist tausendmal besser, da sie vernünftig in fhem integriert ist ...
JAAAA, genau das ist was ich auch brauche!
na super, dann warte ich noch a bissl :)
ich werde später das modul doch ein wenig umbauen müssen da ich mein Vitocal über ein WiFi<->UART ansprechen möchte.
aber das wird schon gehen, hoffentlich :o)
steve
nach diversen Tests habe ich also mein neues Modul für meine Viessmann Heizung mal bereit gestellt:
http://forum.fhem.de/index.php/topic,20280.0.html (http://forum.fhem.de/index.php/topic,20280.0.html)
Gruß
Adam