Neues Buderus KM Modul mit neuen Features 79_BDKM.pm

Begonnen von arnoaugustin, 15 Februar 2016, 12:54:20

Vorheriges Thema - Nächstes Thema

arnoaugustin

#30
Zitat von: furban am 19 Februar 2016, 10:38:57
Kann das auch an deiner Syntaxprüfung liegen das die den \ nicht akzeptiert? Mit Leerzeichen funktioniert es zwar, aber dann wird die Webseite immer breite rund breiter bis man nichts mehr sieht.

Angezeigt bekomme ich die Readings ja schon und auch meine Änderung wurde aktualisiert.
.... und jetzt schaue ich gerade noch mal auf mein FHEM und nun sind die Werte auch unter Set verfügbar. Da waren sie heute morgen nicht. Da scheint mein FHEM Restart von heute morgen noch was geändert zu haben

Das ist nun in der Tat Geschmacksfrage. Ich mülle lieber meine SD Karte voll, habe aber immer aktuelle Daten vor der Nase. Ich benutzt auch die Buderus App und die Buderus Webseite um Änderungen vorzunehmen und mache nicht alles aus FHEM.
Es gibt aber natürlich genügend Werte die man nicht alle 5min aktualisieren muss und auch schon gar kein Logeintrag dafür brauch.
So muss ich nun immer mal wieder mit "INFO" schauen welche Readings es überhaupt gibt und diese selbst einbauen.
Sehe auch gerade das ich z.B immer mal wieder gerne auf die Firmware Version schaue da die sich schon immer mal wieder ändert und dadurch ja neue Readings entstehen können. Aber die Firmware ist auch nicht bei den Defaulteinstellungen dabei.
Ich denke für mich ist der Sailor Ansatz besser alles verfügbare anzuzeigen und wer möchte nimmt raus was er nicht haben will.

Es ist nicht einfach

Gruß

Frank

Hi Frank,
das mit dem \ liegt sicher nicht an meiner Syntaxprüfung, da der \ bei mir gar nicht mehr ankommt. Wie gesagt, das wird von fhem.pl geparst.
Vlt. hast Du ja auch noch leerzeichen hinter den "\", also "\ " das geht natürlich nicht => Aber das gehört so. Das Zeilenende wird sozusagen weg gequotet.
Was das raus nehmen angeht. Wenn ich beim KM200 50% raus nehme, dann steht genau soviel da wie wenn ich 50% rein nehme. Hab auch schon über regex nachgedacht, aber ich denke dann wirds noch komplizierter und es bringt wenig, weil die Werte recht "verstreut" sind die man braucht. Für die Zeitprogramme würde es was bringen. Vlt. ist für Deinen Anwendungsfall das km200 Modul besser geeignet.
Das Modul hier ist auf Datensparsamkeit ausgelegt. Wenn Du aber einfach ALLES pollen willst und das nicht per Hand eintippen magst:
Im FHEM ein:
define telnetPort telnet 7072 global
dann ist Telnet aktiv
danach geh ins FHEM Verzeichnis, mach das hier:

perl fhem.pl 7072 'get Buderus INFO' | perl -ne 'm|\s[A-z][+\-]\s| and m|(^/[^\s]+)| and print "$1:1:0: \\\n";'

Den Output kannst Du an Deine PollIds hin hängen. Dann wird alles immer gepollt.
Aliase kannst Du selber vergeben. Wenn keine hinter dem letzten Doppelpunkt stehen, dann kannst Du nur die langen Namen benutzen.
Damit wäre alles wie beim km200 - und die IDs die dir nicht gefallen kannst Du sogar noch raus löschen....

VG,
  Arno

furban

Irgendwie alles nicht so anwenderfreundlich das Ganze.
Nachdem ich den letzten \ ganz am Ende entfernt habe hat dann FHEM auch alle Readings eingelesen.
Ja da kann man selbst drauf kommen, aber ich fürchte es gibt sogar noch Menschen die noch weniger Ahnung von Perl haben als ich.
Nun habe ich die ganze Readings die ich vorher drin hatte ich zusätzlich auch noch mal alle Readings die schon vorher da waren. Also praktisch alles doppelt.
Auch da habe ich mal irgendwo gelesen das es da irgendeinen Restbefehl gibt, muss ich aber erst mal wieder suchen gehen.
Die Zeile "Set" ist nun aber ganz verschwunden.
Alles sicher eher FHEM Themen und weniger Probleme von deinem Modul. Wenn man nicht ständig was mit FHEM macht und viel Zeit investiert ist man da ja doch recht verloren

arnoaugustin

Zitat von: furban am 19 Februar 2016, 12:44:59
Irgendwie alles nicht so anwenderfreundlich das Ganze.
Nachdem ich den letzten \ ganz am Ende entfernt habe hat dann FHEM auch alle Readings eingelesen.
Ja da kann man selbst drauf kommen, aber ich fürchte es gibt sogar noch Menschen die noch weniger Ahnung von Perl haben als ich.
Nun habe ich die ganze Readings die ich vorher drin hatte ich zusätzlich auch noch mal alle Readings die schon vorher da waren. Also praktisch alles doppelt.
Auch da habe ich mal irgendwo gelesen das es da irgendeinen Restbefehl gibt, muss ich aber erst mal wieder suchen gehen.
Die Zeile "Set" ist nun aber ganz verschwunden.
Alles sicher eher FHEM Themen und weniger Probleme von deinem Modul. Wenn man nicht ständig was mit FHEM macht und viel Zeit investiert ist man da ja doch recht verloren

Zum \: Das hat nichts mit Perl zu tun, sondern damit, dass FHEM davon ausgeht, das ein Config-Befehl in einer Zeile steht. Zeilen werden mit \ aneinander gehängt.

Zu den Readings: FHEM löscht auch keine Readings von selbst. Wenn du alle wieder weg haben willst, dann:
deletereading myBDKM .*
Im set wirst du, wenn du alles ohne alias ein gibst auch keine Sachen mehr sehen, da du ja sowas wie beim km200 haben wolltest.
Im FHEMWEB set werden nur die Aliase angezeigt, damit es "Aufgeräumt" ist.
Wenn du das alles noch angezeigt haben willst und keine Aliase setzen magst, dann wie oben beschrieben den hier machen:

perl fhem.pl 7072 'get Buderus INFO' | perl -ne 'm|\s[A-z][+\-]\s| and m|(^/[^\s]+)| and print "$1:1:0:$1 \\\n";'

Dann wird für Alias der ID Name genommen.

Aber mal ehrlich, warum machst Du Dir nicht die Mühe und überlegst Dir einfach welche IDs für Dich wichtig sind. Im Gateway ist einiges doppelt und dreifach drin. Und die ID-Namen sind lang und unhandlich. Und wieso soll ich mein Gateway alle 3 Minuten nach der Firmwareversion etc. fragen? Erstens ändert die sich nicht einfach so - falls sie es tut geht das Modul u.U. sogar gar nicht mehr mit dem Gateway - und zweitens
kann man das dann auch immer noch so definieren, dass ein Reading nur generiert wird wenn sich die Version ändert.

Ja, und FHEM ist kein Klick-Tool was man mal eben so nehmen kann wie eine Buderus-App (dafür gibt es ja die App). FHEM ist etwas mit dem man alles machen kann und mit dem man alles unter einen Hut bringen kann. Dafür brauche dann auch keine 10 Apps sondern nur eine: FHEM.
Dafür muss man sich durchaus damit auseinander setzen.
Wo ist bei der Buderus-App der Graph, wo ich sehen kann wie sich Vor- und Rücklauf verhält? Mit der Buderus App (Android) kann ich praktisch gar nichts einstellen. Und ich denke wenn ich Buderus eine Mail schreibe, und dass obwohl ich schon 200 EUR für deren Gateway hinblättern muss, dass ich gerne nen Graphen hätte, dann bekomme ich maximal ne "vorgedruckte" Mail in der irgendwelches gesabbel steht.
Ohne die Arbeit anderer Leute könnte man nicht mal mit dem Gateway "reden" (Wär ja noch schöner wenn jeder mit seiner Heizung macht was er will)
Abgesehen davon ist bei "Gateway-Normalbetrieb" u.U. dass wissen wann du im Urlaub bist bei Buderus laufend vorhanden. Wenn die mal ein Datenleck haben oder jemand der Zugriff auf die Daten hat die Infos an jemand verkauft, oder einfach den Zugang nutzt, dann wirds besonders interessant für Leute die professionell Häuser ausräumen. Die kaufen solche Daten gerne.......
Aber erst wenns einen am eigenen Leib erwischt würden Leute anders über solche Apps und diesen "Smarthome-Quatsch" nachdenken.
FHEM macht sowas nicht. Bei FHEM gehören die Daten Dir. Und wenn man sich nicht sicher ist braucht man nur in den Code gucken.
Dafür muss man sich eben anders damit auseinander setzen.

Viele Grüße,

Arno

furban

Zitat von: arnoaugustin am 19 Februar 2016, 13:28:34
kann man das dann auch immer noch so definieren, dass ein Reading nur generiert wird wenn sich die Version ändert.
Hm, Was spricht dagegen genau das so mit allen Readings zu machen.Wüsste nicht wozu ich es benötigen würde das alle 5Min ein Logeintrag mit der Firmware Versionnummer erzeugt wird. Das würde mir durchaus reichen wenn das nur passiert wenn sich die Version auch ändert.
Wenn ich nun die Doku richtig verstehe waren die von dir vorgeschlagenen Einstellungen z.B. /system/info:1:0: genau so eingestellt. Das heißt doch es wird alle paar Minuten gepollt, aber nur ein Logeintrag erzeugt wenn sich auch was ändert.
Wenn ich das so richtig verstehe, was spricht dann dagegen das so als Default einzubauen? Er klappert dann zwar wohl alle paar Minuten alle Readings ab, erzeugt aber keine Logeinträge falls sich nichts geändert hat. Verstehe ich das so richtig? Das wäre dann die perfekte Einstellung für mich.

Ansonsten finde ich FHEM schon klasse. Ich steure eine ganze Menge hier im Haus damit und habe z.B. auch ein FS20 Modul mal in meinen 20 Jahre alten Garagentüröffner eingelötet mit dem ich diese nun auch über FHEM steuern kann.
Aber ein ein wenig Anwenderfreundlich könnte es halt schon sein. Das ist so wie Linux vor 10 Jahren. Da war Linux auch eher was für Freaks aber inzwischen kann mit Linux auch ein normaler Anwender umgehen. Wunder mich das es Windows überhaupt noch gibt. Läuft doch ohnehin nur noch auf PCs. Auf allen anderen Geräten die man heutzutage so hat läuft doch längstens Linux.


arnoaugustin

Zitat von: furban am 19 Februar 2016, 13:56:53
Hm, Was spricht dagegen genau das so mit allen Readings zu machen.Wüsste nicht wozu ich es benötigen würde das alle 5Min ein Logeintrag mit der Firmware Versionnummer erzeugt wird. Das würde mir durchaus reichen wenn das nur passiert wenn sich die Version auch ändert.
Wenn ich nun die Doku richtig verstehe waren die von dir vorgeschlagenen Einstellungen z.B. /system/info:1:0: genau so eingestellt. Das heißt doch es wird alle paar Minuten gepollt, aber nur ein Logeintrag erzeugt wenn sich auch was ändert.
Wenn ich das so richtig verstehe, was spricht dann dagegen das so als Default einzubauen? Er klappert dann zwar wohl alle paar Minuten alle Readings ab, erzeugt aber keine Logeinträge falls sich nichts geändert hat. Verstehe ich das so richtig? Das wäre dann die perfekte Einstellung für mich.

Ansonsten finde ich FHEM schon klasse. Ich steure eine ganze Menge hier im Haus damit und habe z.B. auch ein FS20 Modul mal in meinen 20 Jahre alten Garagentüröffner eingelötet mit dem ich diese nun auch über FHEM steuern kann.
Aber ein ein wenig Anwenderfreundlich könnte es halt schon sein. Das ist so wie Linux vor 10 Jahren. Da war Linux auch eher was für Freaks aber inzwischen kann mit Linux auch ein normaler Anwender umgehen. Wunder mich das es Windows überhaupt noch gibt. Läuft doch ohnehin nur noch auf PCs. Auf allen anderen Geräten die man heutzutage so hat läuft doch längstens Linux.
Default ist es so eingestellt in den RC300DEFAULTS
   /system/info:::SystemInfo

Das hier
/system/info:1:0:
Bedeutet (wie auch in der Doku beschrieben). Jedes mal holen, jedes mal Reading, kein Alias.
ID:1:0:Alias - poll every cycle, when difference >= 0 to previous reading (means always, also for strings) trigger FHEM reading to "Alias"


Du kannst Dir die Sachen doch so einstellen dass sie für dich passen. Ich kann ja keine Defaults finden die jedem gefallen und ich werde es natürlich auch nicht so einstellen, dass laufend alles vom Gateway geholt wird. Was ist wenn jemand gar nicht pollen will? Also nur Werte ändern? Wenn du ein Modul möchtest, was permanent alles am Gateway abzieht, gibts ja noch das km200 Modul.
Ich biete hier genau die Möglichkeit, dass man sich das einstellen kann wie man es will (Siehe Doku). Ein paar Zeilen muss man dafür natürlich u.U. schon Tippen. Das sollte es einem Wert sein.
Wenn FHEM nicht anwenderfreundlich genug ist, dann steht es ja auch jedem frei etwas dazu beizutragen und das zu ändern.
Wenn ich da mal dran denke, wenn man irgendein Windows etc. neu installiert, was man da alles klicken muss. Da lobe ich mir Konfigurationsdateien in denen man alles einstellen kann und die man einfach mal auf ein anderes System kopieren kann. Ja, oft muss man dafür auch mal 100 Zeilen Doku lesen....
Ich würd einfach empfehlen die Liste von IDs die Dein Gateway liefert zu nehmen, dann gehst Du sie durch und stellst Dir das ein bis es passt. Ich hab das Problem nicht verstanden. Ist das Problem, dass die Defaults nicht für Deinen Anwendungsfall passen? Dann kannst Du sie einfach weg lassen und bei den PollIds alles nach Deinen Maßstäben einrichten.

furban

Zitat von: arnoaugustin am 19 Februar 2016, 15:07:10
Default ist es so eingestellt in den RC300DEFAULTS
   /system/info:::SystemInfo

Das hier
/system/info:1:0:
Bedeutet (wie auch in der Doku beschrieben). Jedes mal holen, jedes mal Reading, kein Alias.
ID:1:0:Alias - poll every cycle, when difference >= 0 to previous reading (means always, also for strings) trigger FHEM reading to "Alias"


Du kannst Dir die Sachen doch so einstellen dass sie für dich passen. Ich kann ja keine Defaults finden die jedem gefallen und ich werde es natürlich auch nicht so einstellen, dass laufend alles vom Gateway geholt wird. Was ist wenn jemand gar nicht pollen will? Also nur Werte ändern? Wenn du ein Modul möchtest, was permanent alles am Gateway abzieht, gibts ja noch das km200 Modul.
Ich biete hier genau die Möglichkeit, dass man sich das einstellen kann wie man es will (Siehe Doku). Ein paar Zeilen muss man dafür natürlich u.U. schon Tippen. Das sollte es einem Wert sein.
Wenn FHEM nicht anwenderfreundlich genug ist, dann steht es ja auch jedem frei etwas dazu beizutragen und das zu ändern.
Wenn ich da mal dran denke, wenn man irgendein Windows etc. neu installiert, was man da alles klicken muss. Da lobe ich mir Konfigurationsdateien in denen man alles einstellen kann und die man einfach mal auf ein anderes System kopieren kann. Ja, oft muss man dafür auch mal 100 Zeilen Doku lesen....
Ich würd einfach empfehlen die Liste von IDs die Dein Gateway liefert zu nehmen, dann gehst Du sie durch und stellst Dir das ein bis es passt. Ich hab das Problem nicht verstanden. Ist das Problem, dass die Defaults nicht für Deinen Anwendungsfall passen? Dann kannst Du sie einfach weg lassen und bei den PollIds alles nach Deinen Maßstäben einrichten.

Klar hat jeder andere Ansprüche aber ich hätte es gerne recht einfach und da wäre es schade für jedes Polling einen eigenen Konfigeintrag bauen zu müssen
Ich träume von einem eigenen "Default" in dem ich sagen kann "Alles immer pollen", aber nur Veränderungen auch Anzeigen/Loggen. Zweiteres wäre dann der große Unterschied zum Konkurrenz Modul.
Das mit dem Alias ist auch keine schlechte Sache, aber da würde mir auch reichen wenn ein Name irgendwie automatisch generiert wird und nur bei Bedarf angepasst werden kann, aber nicht muss.

Alles nur so Vorstellung von mir die natürlich nicht für jeden gültig sein müssen.

arnoaugustin

#36
Zitat von: furban am 19 Februar 2016, 15:17:38
Klar hat jeder andere Ansprüche aber ich hätte es gerne recht einfach und da wäre es schade für jedes Polling einen eigenen Konfigeintrag bauen zu müssen
Ich träume von einem eigenen "Default" in dem ich sagen kann "Alles immer pollen", aber nur Veränderungen auch Anzeigen/Loggen. Zweiteres wäre dann der große Unterschied zum Konkurrenz Modul.
Das mit dem Alias ist auch keine schlechte Sache, aber da würde mir auch reichen wenn ein Name irgendwie automatisch generiert wird und nur bei Bedarf angepasst werden kann, aber nicht muss.

Alles nur so Vorstellung von mir die natürlich nicht für jeden gültig sein müssen.
OK, ich glaube ich habe es verstanden. Dir ist es zu schade für Einträge die Dich interessieren Konfigeinträge zu erstellen. Stattdessen möchtest Du dass das Modul was bereitstellt was das übernimmt und auch noch Alias-Namen erfindet, weil du lieber was vorgegebenes nimmst, als selber Namen zu geben die Dir selber gefallen. Das interessante beim Namen generieren ist das "irgendwie automatisch". Also zum Beispiel jeden 2. Buchstaben aus der original ID? Oder ich bau einfach etwas KI ein, so dass das Modul was passendes findet, wo dann jeder weiß was für ein Wert gemeint ist.
Ich denke nur die wenigsten wollen alles immer lesen. Vor allem will wahrscheinlich außer Dir niemand die doppelten und dreifach gleichen Werte haben. Du hast Die Möglichkeit Deine Werte genau so einzustellen wie du sie möchtest. Wenn Dich die Optik der vielen Einträge stört mach ein "include" und versteck die Datei mit den Einträgen in einem Verzeichnis wo Du sie nicht siehst.
Wie Du Deine Einstellung kriegst hatte ich Dir ja schon geschickt. Musst sie nur noch in deine Konfig-Datei eintragen.
Man kann sicher einiges rein machen, so dass es mehr Wohlfühlcomfort bietet - aber der Zeitaufwand muss auch dem Nutzen entsprechen. Hier gehts ja nur darum, dass Du die Konfiguration aus irgendeinem Grund nicht machen möchtest.

Das Modul ist genau so gedacht, dass ich mir überlegen kann, was ich überhaupt haben will und dass es für genau diese IDs anständige Namen gibt und dass auch nur genau das dann in den Menüs erscheint. Stell Dir vor ich mache das noch "konfigurierbarer", dann ist es einem Anderen am Ende zu kompliziert sich mit der Konfiguration auseinander zu setzen und der möchte die Konfigschalter dann alle wieder weg haben weil ihn das stört.



furban

Zitat von: arnoaugustin am 19 Februar 2016, 15:59:57
OK, ich glaube ich habe es verstanden. Dir ist es zu schade für Einträge die Dich interessieren Konfigeinträge zu erstellen. Stattdessen möchtest Du dass das Modul was bereitstellt was das übernimmt und auch noch Alias-Namen erfindet, weil du lieber was vorgegebenes nimmst, als selber Namen zu geben die Dir selber gefallen. Das interessante beim Namen generieren ist das "irgendwie automatisch". Also zum Beispiel jeden 2. Buchstaben aus der original ID? Oder ich bau einfach etwas KI ein, so dass das Modul was passendes findet, wo dann jeder weiß was für ein Wert gemeint ist.
Ich denke nur die wenigsten wollen alles immer lesen. Vor allem will wahrscheinlich außer Dir niemand die doppelten und dreifach gleichen Werte haben. Du hast Die Möglichkeit Deine Werte genau so einzustellen wie du sie möchtest. Wenn Dich die Optik der vielen Einträge stört mach ein "include" und versteck die Datei mit den Einträgen in einem Verzeichnis wo Du sie nicht siehst.
Wie Du Deine Einstellung kriegst hatte ich Dir ja schon geschickt. Musst sie nur noch in deine Konfig-Datei eintragen.
Man kann sicher einiges rein machen, so dass es mehr Wohlfühlcomfort bietet - aber der Zeitaufwand muss auch dem Nutzen entsprechen. Hier gehts ja nur darum, dass Du die Konfiguration aus irgendeinem Grund nicht machen möchtest.

Das Modul ist genau so gedacht, dass ich mir überlegen kann, was ich überhaupt haben will und dass es für genau diese IDs anständige Namen gibt und dass auch nur genau das dann in den Menüs erscheint. Stell Dir vor ich mache das noch "konfigurierbarer", dann ist es einem Anderen am Ende zu kompliziert sich mit der Konfiguration auseinander zu setzen und der möchte die Konfigschalter dann alle wieder weg haben weil ihn das stört.

Ja das Thema ist nicht einfach.
Mit den Aliasnamen meine ich natürlich einfach den Text hinter dem letzten /. Da das aber nicht immer zu eindeutigen/verständlichen Alaisnamen führen würde, müsste man den in solchen Fällen um irgendwas ergänzen. Ist aber vermutlich wirklich zu kompliziert und so wichtig wären mir diese Aliasnamen auch nicht. Man läuft damit ja auch in ein Sprachproblem weil man die Aliasnamen ja wenigstens in Deutsch/Englisch haben müsste (was wiederrum bei der automatischen Erzeugung nur Englisch wäre)

Einen Schalter einzubauen der aus dem
/system/info:::SystemInfo
eine
/system/info:1::SystemInfo
macht sollte doch nicht so schwierig sein, oder?
Dann kann der Default bleiben wo er ist und es gibt einen zusätzlichen Schalter "PollAll" den man aktivieren kann, oder halt auch nicht, der bei allen Readings die 1 fürs Polling setzt.
Damit spare ich mir aber 132 Konfigeinträge für meine ganzen Readings bei denen ich sonst einfach nur die "1" fürs pollen setzten würde.

Aktuell muss ich sagen das ich mit dem Sailormodul dann doch besser fahre weil das eher das tut wie ich es mir vorstellen. Rotzt mir pro Monat 85MB Logfiles auf die SD Karte aber da ist dann halt auch alles drin. Beim km200 Modul könnte ich ja einzelnen Readings abschalten, aber dafür war ich bisher einfach zu faul. So geizig muss man mit dem Platz ja heutzutage nicht mehr sein und außer der Einmalladung hat mir bisher auch  eigentlich nichts mehr gefehlt. Das Problem umgehe ich jetzt indem ich halt einfach die Wassertemparatur anpasse. Somit bin ich eigentlich zu 100% glücklich und frage mich gerade was ich hier mache :)
Ich werde das hier mal weiter beobachten aber genau genommen habe ich eigentlich gar keinen Bedarf für ein neues Modul, was zumindest für meine Vorstellungen/Ansprüche keine Vorteile bringt.


arnoaugustin

Zitat von: furban am 19 Februar 2016, 21:42:46
Ja das Thema ist nicht einfach.
Mit den Aliasnamen meine ich natürlich einfach den Text hinter dem letzten /. Da das aber nicht immer zu eindeutigen/verständlichen Alaisnamen führen würde, müsste man den in solchen Fällen um irgendwas ergänzen. Ist aber vermutlich wirklich zu kompliziert und so wichtig wären mir diese Aliasnamen auch nicht. Man läuft damit ja auch in ein Sprachproblem weil man die Aliasnamen ja wenigstens in Deutsch/Englisch haben müsste (was wiederrum bei der automatischen Erzeugung nur Englisch wäre)

Einen Schalter einzubauen der aus dem
/system/info:::SystemInfo
eine
/system/info:1::SystemInfo
macht sollte doch nicht so schwierig sein, oder?
Dann kann der Default bleiben wo er ist und es gibt einen zusätzlichen Schalter "PollAll" den man aktivieren kann, oder halt auch nicht, der bei allen Readings die 1 fürs Polling setzt.
Damit spare ich mir aber 132 Konfigeinträge für meine ganzen Readings bei denen ich sonst einfach nur die "1" fürs pollen setzten würde.

Aktuell muss ich sagen das ich mit dem Sailormodul dann doch besser fahre weil das eher das tut wie ich es mir vorstellen. Rotzt mir pro Monat 85MB Logfiles auf die SD Karte aber da ist dann halt auch alles drin. Beim km200 Modul könnte ich ja einzelnen Readings abschalten, aber dafür war ich bisher einfach zu faul. So geizig muss man mit dem Platz ja heutzutage nicht mehr sein und außer der Einmalladung hat mir bisher auch  eigentlich nichts mehr gefehlt. Das Problem umgehe ich jetzt indem ich halt einfach die Wassertemparatur anpasse. Somit bin ich eigentlich zu 100% glücklich und frage mich gerade was ich hier mache :)
Ich werde das hier mal weiter beobachten aber genau genommen habe ich eigentlich gar keinen Bedarf für ein neues Modul, was zumindest für meine Vorstellungen/Ansprüche keine Vorteile bringt.
Ja, denke auch, dass das Sailormodul für Dich besser ist. Und ohne dass man da Werte ausschließt schlägt der Bug mit dem Mehrfachpollen nach dem wie ich das im Code gelesen habe auch nicht zu.

arnoaugustin

Modul liegt jetzt im Repository (ohne Salt wie oben beschrieben) und kann somit per update aktualisiert werden.

VG
   Arno

Newbee

Zitat von: arnoaugustin am 20 Februar 2016, 13:45:09
Modul liegt jetzt im Repository (ohne Salt wie oben beschrieben) und kann somit per update aktualisiert werden.

VG
   Arno

Hallo Arno,
Ich nutzte jetzt auch deine Version. Finde es richtig komfortabel. Habe im Modul folgende Anpassungen für den RC30 vorgenommen. Damit ich das nicht nach jedem Update wieder rein kopieren muss kannst Du dies bitte in die original Datei einbinden.

my @RC30DEFAULTS =

# ID:POLL EVERY x CYCLE:MINDELTA:READINGNAME
# all gateway IDs are polled (gathered) once on startup
#*:1:0:*   poll every cycle, difference 0 => update on difference 0 (allways)
#*:1::*    poll every cycle, no difference set => update on change only
#*:0::*    poll on startup only and update reading on change only
#*:1:0.5:* poll every cycle, difference set to 0.5 => update only if difference to last read is >= 0.5
#*:15::*   poll on startup and every 15th cylce, update reading if changed
#*:::*     update reading on (get/set) only if value changed
#*::0:*    update reading on (get/set) always
#*         ID only, no ":", poll every cycle, update reading allways (same as *:1:0:*)

qw(/dhwCircuits/dhw1/actualTemp:1:0.2:WaterTemp
   /dhwCircuits/dhw1/currentSetpoint:1::WaterDesiredTemp
   /dhwCircuits/dhw1/operationMode:1::WaterMode
   /dhwCircuits/dhw1/setTemperature:1::WaterDesiredTemp
   /dhwCircuits/dhw1/status:0::WaterStatus
   /dhwCircuits/dhw1/switchPrograms/A/1-Mo:0:0:WaterProgram-1-Mo
   /dhwCircuits/dhw1/switchPrograms/A/2-Tu:0:0:WaterProgram-2-Tu
   /dhwCircuits/dhw1/switchPrograms/A/3-We:0:0:WaterProgram-3-We
   /dhwCircuits/dhw1/switchPrograms/A/4-Th:0:0:WaterProgram-4-Th
   /dhwCircuits/dhw1/switchPrograms/A/5-Fr:0:0:WaterProgram-5-Fr
   /dhwCircuits/dhw1/switchPrograms/A/6-Sa:0:0:WaterProgram-6-Sa
   /dhwCircuits/dhw1/switchPrograms/A/7-Su:0:0:WaterProgram-7-Su
   /dhwCircuits/dhw1/temperatureLevels/high:1::WaterDayTemp
   /dhwCircuits/dhw1/temperatureLevels/on:1::WaterDayTemp
   /dhwCircuits/dhw1/waterFlow:::waterFlow
   /dhwCircuits/dhw1/workingTime:::WaterWorkingTime
   /gateway/DateTime:0:0:DateTime
   /gateway/instAccess:0:0:InstAccess
   /gateway/uuid:::Uuid
   /gateway/versionFirmware:::FirmwareVersion
   /heatSources/CHpumpModulation:10::PumpModulation
   /heatSources/ChimneySweeper:::ChimneySweeper
   /heatSources/actualPower:10::Power
   /heatSources/flameCurrent:::FlameCurrent
   /heatSources/gasAirPressure:0:0:GasAirPressure
   /heatSources/info:::HeatSourceInfo
   /heatSources/nominalCHPower:0::Nominal
   /heatSources/numberOfStarts:0:0:NumberOfStarts
   /heatSources/systemPressure:20:0.2:SystemPressure
   /heatSources/workingTime/centralHeating:0:0:CentralHeatingWorkingTime
   /heatSources/workingTime/secondBurner:0:0:SecondBurnerWorkingTime
   /heatSources/workingTime/totalSystem:0:0:SystemWorkingTime
   /heatingCircuits/hc1/activeSwitchProgram:0:0:ActiveSwitchProgram
   /heatingCircuits/hc1/actualSupplyTemperature:0:0:HC1SupplyTemp
   /heatingCircuits/hc1/currentRoomSetpoint:1::RoomDesiredTemp
   /heatingCircuits/hc1/fastHeatupFactor:0:0:HeatupFactor
   /heatingCircuits/hc1/manualRoomSetpoint:10::RoomManualDesiredTemp
   /heatingCircuits/hc1/operationMode:10::HeatMode
   /heatingCircuits/hc1/pumpModulation:1:10:PumpModulation
   /heatingCircuits/hc1/status:0:0:Status
   /heatingCircuits/hc1/switchPrograms/A/1-Mo:0:0:ProgramA1-Mo
   /heatingCircuits/hc1/switchPrograms/A/2-Tu:0:0:ProgramA2-Tu
   /heatingCircuits/hc1/switchPrograms/A/3-We:0:0:ProgramA3-We
   /heatingCircuits/hc1/switchPrograms/A/4-Th:0:0:ProgramA4-Th
   /heatingCircuits/hc1/switchPrograms/A/5-Fr:0:0:ProgramA5-Fr
   /heatingCircuits/hc1/switchPrograms/A/6-Sa:0:0:ProgramA6-Sa
   /heatingCircuits/hc1/switchPrograms/A/7-Su:0:0:ProgramA7-Su
   /heatingCircuits/hc1/switchPrograms/B/1-Mo:0:0:ProgramB1-Mo
   /heatingCircuits/hc1/switchPrograms/B/2-Tu:0:0:ProgramB2-Tu
   /heatingCircuits/hc1/switchPrograms/B/3-We:0:0:ProgramB3-We
   /heatingCircuits/hc1/switchPrograms/B/4-Th:0:0:ProgramB4-Th
   /heatingCircuits/hc1/switchPrograms/B/5-Fr:0:0:ProgramB5-Fr
   /heatingCircuits/hc1/switchPrograms/B/6-Sa:0:0:ProgramB6-Sa
   /heatingCircuits/hc1/switchPrograms/B/7-Su:0:0:ProgramB7-Su
   /heatingCircuits/hc1/temperatureLevels/day:10::DayTemp
   /heatingCircuits/hc1/temperatureLevels/night:10::NightTemp
   /heatingCircuits/hc1/roomtemperature:10::ActualRoomTemp
   /heatingCircuits/hc1/temperatureRoomSetpoint:1::RoomDesiredTemp
   /notifications:0:0:Notifications
   /system/brand:0:0:SystemBrand
   /system/bus:::BusType
   /system/healthStatus:10::Health
   /system/sensors/temperatures/outdoor_t1:1:0.5:OutdoorTemp
   /system/sensors/temperatures/return:1:0.5:ReturnTemp
   /system/sensors/temperatures/supply_t1:1:0.5:SupplyTemp
   /system/sensors/temperatures/supply_t1_setpoint:1:0.5:DesiredSupplyTemp
   /system/systemType:::SystemType
);


Werde da noch ein wenig optimieren, aber das ist mal die Basis.

Dann habe ich noch ne Frage zur INFO Abfrage Die Definitionen "Last Value Read" also die C und % kommen wo her?

Vielen Dank vorab.

Grüße Mark
Intel-NUC mit ubuntu server 20.04; FHEM 6.0
HM, Dect, Netatmo, Hue

arnoaugustin

#41
Zitat von: Newbee am 20 Februar 2016, 17:42:56
Hallo Arno,
Ich nutzte jetzt auch deine Version. Finde es richtig komfortabel. Habe im Modul folgende Anpassungen für den RC30 vorgenommen. Damit ich das nicht nach jedem Update wieder rein kopieren muss kannst Du dies bitte in die original Datei einbinden.

my @RC30DEFAULTS =

# ID:POLL EVERY x CYCLE:MINDELTA:READINGNAME
# all gateway IDs are polled (gathered) once on startup
#*:1:0:*   poll every cycle, difference 0 => update on difference 0 (allways)
#*:1::*    poll every cycle, no difference set => update on change only
#*:0::*    poll on startup only and update reading on change only
#*:1:0.5:* poll every cycle, difference set to 0.5 => update only if difference to last read is >= 0.5
#*:15::*   poll on startup and every 15th cylce, update reading if changed
#*:::*     update reading on (get/set) only if value changed
#*::0:*    update reading on (get/set) always
#*         ID only, no ":", poll every cycle, update reading allways (same as *:1:0:*)

qw(/dhwCircuits/dhw1/actualTemp:1:0.2:WaterTemp
   /dhwCircuits/dhw1/currentSetpoint:1::WaterDesiredTemp
   /dhwCircuits/dhw1/operationMode:1::WaterMode
   /dhwCircuits/dhw1/setTemperature:1::WaterDesiredTemp
   /dhwCircuits/dhw1/status:0::WaterStatus
   /dhwCircuits/dhw1/switchPrograms/A/1-Mo:0:0:WaterProgram-1-Mo
   /dhwCircuits/dhw1/switchPrograms/A/2-Tu:0:0:WaterProgram-2-Tu
   /dhwCircuits/dhw1/switchPrograms/A/3-We:0:0:WaterProgram-3-We
   /dhwCircuits/dhw1/switchPrograms/A/4-Th:0:0:WaterProgram-4-Th
   /dhwCircuits/dhw1/switchPrograms/A/5-Fr:0:0:WaterProgram-5-Fr
   /dhwCircuits/dhw1/switchPrograms/A/6-Sa:0:0:WaterProgram-6-Sa
   /dhwCircuits/dhw1/switchPrograms/A/7-Su:0:0:WaterProgram-7-Su
   /dhwCircuits/dhw1/temperatureLevels/high:1::WaterDayTemp
   /dhwCircuits/dhw1/temperatureLevels/on:1::WaterDayTemp
   /dhwCircuits/dhw1/waterFlow:::waterFlow
   /dhwCircuits/dhw1/workingTime:::WaterWorkingTime
   /gateway/DateTime:0:0:DateTime
   /gateway/instAccess:0:0:InstAccess
   /gateway/uuid:::Uuid
   /gateway/versionFirmware:::FirmwareVersion
   /heatSources/CHpumpModulation:10::PumpModulation
   /heatSources/ChimneySweeper:::ChimneySweeper
   /heatSources/actualPower:10::Power
   /heatSources/flameCurrent:::FlameCurrent
   /heatSources/gasAirPressure:0:0:GasAirPressure
   /heatSources/info:::HeatSourceInfo
   /heatSources/nominalCHPower:0::Nominal
   /heatSources/numberOfStarts:0:0:NumberOfStarts
   /heatSources/systemPressure:20:0.2:SystemPressure
   /heatSources/workingTime/centralHeating:0:0:CentralHeatingWorkingTime
   /heatSources/workingTime/secondBurner:0:0:SecondBurnerWorkingTime
   /heatSources/workingTime/totalSystem:0:0:SystemWorkingTime
   /heatingCircuits/hc1/activeSwitchProgram:0:0:ActiveSwitchProgram
   /heatingCircuits/hc1/actualSupplyTemperature:0:0:HC1SupplyTemp
   /heatingCircuits/hc1/currentRoomSetpoint:1::RoomDesiredTemp
   /heatingCircuits/hc1/fastHeatupFactor:0:0:HeatupFactor
   /heatingCircuits/hc1/manualRoomSetpoint:10::RoomManualDesiredTemp
   /heatingCircuits/hc1/operationMode:10::HeatMode
   /heatingCircuits/hc1/pumpModulation:1:10:PumpModulation
   /heatingCircuits/hc1/status:0:0:Status
   /heatingCircuits/hc1/switchPrograms/A/1-Mo:0:0:ProgramA1-Mo
   /heatingCircuits/hc1/switchPrograms/A/2-Tu:0:0:ProgramA2-Tu
   /heatingCircuits/hc1/switchPrograms/A/3-We:0:0:ProgramA3-We
   /heatingCircuits/hc1/switchPrograms/A/4-Th:0:0:ProgramA4-Th
   /heatingCircuits/hc1/switchPrograms/A/5-Fr:0:0:ProgramA5-Fr
   /heatingCircuits/hc1/switchPrograms/A/6-Sa:0:0:ProgramA6-Sa
   /heatingCircuits/hc1/switchPrograms/A/7-Su:0:0:ProgramA7-Su
   /heatingCircuits/hc1/switchPrograms/B/1-Mo:0:0:ProgramB1-Mo
   /heatingCircuits/hc1/switchPrograms/B/2-Tu:0:0:ProgramB2-Tu
   /heatingCircuits/hc1/switchPrograms/B/3-We:0:0:ProgramB3-We
   /heatingCircuits/hc1/switchPrograms/B/4-Th:0:0:ProgramB4-Th
   /heatingCircuits/hc1/switchPrograms/B/5-Fr:0:0:ProgramB5-Fr
   /heatingCircuits/hc1/switchPrograms/B/6-Sa:0:0:ProgramB6-Sa
   /heatingCircuits/hc1/switchPrograms/B/7-Su:0:0:ProgramB7-Su
   /heatingCircuits/hc1/temperatureLevels/day:10::DayTemp
   /heatingCircuits/hc1/temperatureLevels/night:10::NightTemp
   /heatingCircuits/hc1/roomtemperature:10::ActualRoomTemp
   /heatingCircuits/hc1/temperatureRoomSetpoint:1::RoomDesiredTemp
   /notifications:0:0:Notifications
   /system/brand:0:0:SystemBrand
   /system/bus:::BusType
   /system/healthStatus:10::Health
   /system/sensors/temperatures/outdoor_t1:1:0.5:OutdoorTemp
   /system/sensors/temperatures/return:1:0.5:ReturnTemp
   /system/sensors/temperatures/supply_t1:1:0.5:SupplyTemp
   /system/sensors/temperatures/supply_t1_setpoint:1:0.5:DesiredSupplyTemp
   /system/systemType:::SystemType
);


Werde da noch ein wenig optimieren, aber das ist mal die Basis.

Dann habe ich noch ne Frage zur INFO Abfrage Die Definitionen "Last Value Read" also die C und % kommen wo her?

Vielen Dank vorab.

Grüße Mark

In Deinen Defaults sind z.B. WaterDayTemp WaterDesiredTemp PumpModulation doppelt drin.
Ich nehm an die Werte der RC300 gabs nicht und es soll nur der "neue" Wert gelten?

Die Einheiten kommen aus dem Gateway.
Guck Dir die Rohdaten an dann weißt Du was ich meine:
z.B.
get myBDKM SupplyTemp raw

VG

Stefan M.

Hi
bringst Du bitte noch die VersionsInfo in das Modul rein ?

VERSION $Id: $

LG
Stefan
FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM

arnoaugustin

Zitat von: Stefan M. am 21 Februar 2016, 19:21:38
Hi
bringst Du bitte noch die VersionsInfo in das Modul rein ?

VERSION $Id: $

LG
Stefan

Hallo Stefan,

was passt an der die drin ist denn nicht?

VG
Arno

Stefan M.

Hi
bei mir wird als Internals

VERSION $Id: $

angezeigt.

LG
Stefan


FHEM auf 3 x RaspberryPi, 1 x Fritzbox,1 x Win. FS20 über CUL, HomeMatic über HMLan, 6 x  HM_CC_RT_DN,2 x HM_LC_BL1_FM,3 x HM_SEC_KEY,2 x HM_RC_Key4_2,7 x HM_SEC_SC,1 x HM_SEC_WDS,1 x HM_Sen_RD_O, 1x HM_Sen_Wa_Od,2 x HM_RC_Key4_2, 5 x HM-ES-PMSw1-Pl,1 x HM_LC_SW4_WM,1 x HM_SCI_3_FM