Buderus KM200 Kommunikationsmodul

Begonnen von Sailor, 21 Juli 2014, 12:39:47

Vorheriges Thema - Nächstes Thema

DLindner

#795
@Sailor:
ZitatOK, war ne leicht Uebung. Habe eine Leading 000 eingefuegt.
Das reicht fuer 99 Fehlermeldungen.
Hallo Sailor, aber wie kann ich die Readings in einer ReadingsGroups abrufen??????? Vor den Werten steht in der aktuellen Version 0047 eine 1,2 bis n. Diese kann ich aber nicht nutzen, da ein get darauf eine Fehlermeldung zurück gibt.
Ich will nicht belehren, aber in meiner Zeit als Programmierer bei Siemens habe ich etliche Schnittstellen für verschiede Kunden programmiert und eine Maxime war immer, dass Datenaufbereitungen nicht in eine Schnittstelle gehören.  Daten liefern ja, aber nicht formatieren, du wirst dir das Leben nur schwermachen und allen Bedürfnissen wirst du nicht gerecht werden. Im Room "Everything" die Meldungen anzuschauen kann ja nicht das Ziel sein (dies ist keine Kritik an deiner Leistung und deinem Einsatz, aber du wirst dich irgendwann verrennen, wenn du allen Anfragen gerecht werden willst.).

@Andil:
ZitatDa das DoNotPoll für jetzt für 3 Heizkreise (die ich gar nicht habe) nicht funktioniert, textet mich das KM200 schon etwas zu.
Hast Du dafür evt. eine Erklärung, oder ein anderer auch das Problem?
Ich habe das Problem z.B. nicht.
ZitatDoNotPoll:/heatingCircuits/hc3 /heatingCircuits/hc4 /solarCircuits/sc1 /heatingCircuits/hc2/switchPrograms/Abend /heatingCircuits/hc2/switchPrograms/Mittag /heatingCircuits/hc2/switchPrograms/Morgen /heatingCircuits/hc2/switchPrograms/Nachmittag /heatingCircuits/hc2/switchPrograms/Vormittag /heatingCircuits/hc2/switchPrograms/Senioren  /heatingCircuits/hc1/switchPrograms/Abend /heatingCircuits/hc1/switchPrograms/Mittag /heatingCircuits/hc1/switchPrograms/Morgen /heatingCircuits/hc1/switchPrograms/Nachmittag /heatingCircuits/hc1/switchPrograms/Vormittag /heatingCircuits/hc1/switchPrograms/Senioren /heatingCircuits/hc1/switchPrograms/Familie /heatingCircuits/hc2/switchPrograms/Familie
Nur als Beispiel habe ich ein Reading fett hervorgehoben. Fhem.save gelöscht, Fhem neu gestartet und sie tauchen nicht mehr auf.

ZitatFür meinen Geschmack liefert mir das Modul eigentlich zuviele Daten.
Auch kommt mir nicht in den Sinn die Heizprogramme etc. über Fhem bearbeiten zu wollen. Das habe ich einmal über das RC35 gemacht und fertig.
Da gebe ich dir vollkommen recht mit (20 Ausrufezeichen). Aber da sich niemand in diesem Forum aus kommerziellen Gründen mit diesem Programm befasst, ist der Ehrgeiz um so größer alles zu tun was machbar ist. Klingt paradox, ist aber so.  8)

ZitatWas Du da so an Oberflächen machst, hat meinen Respekt, keine Frage.
Bekomme ich leider (noch) nicht hin.
Wenn alles läuft, werde ich meine Erfahrungen mit ReadingGroups im km200-Wiki niederschreiben. Aber derzeit ändert sich zuviel und ich muss oft genug Programmteile/Definitionen umschreiben, sodass ich lieber noch etwas warte. Eine gute Lektüre ist das ReadingsGroup-Wiki, aus der ich viele Anregungen bekommen habe.

AndiL

Hallo DLindner,

danke das Du Dich mit meinem Problem befasst hast und es gelöst hast.

Ich gebe es zu, das Problem war ich.

Ich hatte in der DoNotPoll Auflistung hinten noch ein / dran. Als ich Dein Beispiel sah hat es Klick gemacht.
Also z.B. /heatingCircuits/hc2/ statt /heatingCircuits/hc2. Kaum macht es richtig funktioniert es. :D

ZitatWenn alles läuft, werde ich meine Erfahrungen mit ReadingGroups im km200-Wiki niederschreiben.
Da bin ich bestimmt nicht der einzige der sich darauf freut. Bis dahin arbeite ich mich mal durch Deine Wiki Leseempfehlung.

Mit Copy&Paste kann man zwar Verteidigungsminister werden, aber mit dem tieferen Verständnis für Fhem hilft es nur bedingt weiter.

Gruß
Andi


FHEM 5.8 auf RasPi 3
***********************************
FB 7390, FS20, HM mit USB-CFG, 1-wire (DS1820 und DS2408), Buderus KM200 mit GB 152, Phillips HUE und Bastelkram....

AndiL

Da bin ich nochmal.

Mit den Befehlen

deletereading myKM200 /heatingCircuits/hc2.*
deletereading myKM200 /heatingCircuits/hc3.*
deletereading myKM200 /heatingCircuits/hc4.*

kann man die jetzt stillgelegten Readings aus der Readingsliste entfernen.
Schon wird die Sache wieder übersichtlicher.

FHEM 5.8 auf RasPi 3
***********************************
FB 7390, FS20, HM mit USB-CFG, 1-wire (DS1820 und DS2408), Buderus KM200 mit GB 152, Phillips HUE und Bastelkram....

DLindner

@Sailor
ZitatHallo Sailor, aber wie kann ich die Readings in einer ReadingsGroups abrufen?
Mit dem get-Befehl funktioniert's zwar nicht mehr, aber ich kann es in einer ReadingsGroup direkt mit myKm200:1 abrufen oder in einem Script mit ReadingsVal("myKm200", "1", <default>) um die Daten zu formatieren.

Sailor

Hallo DLindner

Zitat von: DLindner am 13 April 2015, 20:27:22
@Sailor: Hallo Sailor, aber wie kann ich die Readings in einer ReadingsGroups abrufen??????? Vor den Werten steht in der aktuellen Version 0047 eine 1,2 bis n. Diese kann ich aber nicht nutzen, da ein get darauf eine Fehlermeldung zurück gibt.
Habe ich in 0048 (hoffentlich) eingebaut.

Kann ich aber nicht testen, da ich keine notifications zurück bekomme.

Zitat von: DLindner am 13 April 2015, 20:27:22
darauf eine Fehlermeldung zurück gibt.
Ich will nicht belehren, aber in meiner Zeit als Programmierer bei Siemens habe ich etliche Schnittstellen für verschiede Kunden programmiert und eine Maxime war immer, dass Datenaufbereitungen nicht in eine Schnittstelle gehören.  Daten liefern ja, aber nicht formatieren, du wirst dir das Leben nur schwermachen und allen Bedürfnissen wirst du nicht gerecht werden. Im Room "Everything" die Meldungen anzuschauen kann ja nicht das Ziel sein (dies ist keine Kritik an deiner Leistung und deinem Einsatz, aber du wirst dich irgendwann verrennen, wenn du allen Anfragen gerecht werden willst.).

Da kann ich Dir nur zustimmen. Allerdings habe ich eine persönliche Mindestanforderung, wie die Ganze Sache aussehen soll.  ;D

Zitat von: DLindner am 13 April 2015, 20:27:22
@Andil: Ich habe das Problem z.B. nicht.Nur als Beispiel habe ich ein Reading fett hervorgehoben. Fhem.save gelöscht, Fhem neu gestartet und sie tauchen nicht mehr auf.

Die fhem.save braucht ihr gar nicht löschen... Gebt einfach den Befehl

deletereading <device> .*

also beispielsweise

deletereading myKm200 .*

ein und lasst den dynamischen Poll einfach nochmal durchlaufen.
Damit sind alle "alten" bzw. überflüssigen Readings gelöscht.

Solltet Ihr eigene Readings erzeugt haben, dann müsste ihr noch ein
shutdown restart

machen, um diese wieder zu erstellen.

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

Zitat von: AndiL am 13 April 2015, 22:08:08
Da bin ich bestimmt nicht der einzige der sich darauf freut. Bis dahin arbeite ich mich mal durch Deine Wiki Leseempfehlung.

Darauf kannst Du wetten.

Habe DLindner ja schon ein nettes Plätzchen reserviert.

Der Witz ist: Ich programmiere an dem km200 Modul rum und komme nicht dazu meine eigene Anlage anständig zu visualisieren.  >:(

Gruss
   Sailor
******************************
Man wird immer besser...

DLindner

#801
Ich kann mir zumindest schon mal die Heizprogrammdaten anschauen  ;)

- Es werden nur Heizkreise angezeigt, die existieren und nicht durch DoNotPoll verbannt wurden.
- Es werden nur Heizprogramme angezeigt, die zum Heizkreis gehören und nicht durch DoNotPoll verbannt wurden.
- Sind die Start- und Stopwerte eingegeben, kann man mit einem Klick auf das Kopier-Icon die Werte von der letzten eingegebenen Zeile bis Sonntag kopieren.
- Ein Klick auf das Lösch-Icon löscht alle Werte einer Spalte (Start- und Stopwerte).
- Plausibilitätsprüfung der gewählten Zeit (z.B Start-Zeit kann nicht kleiner vorherige Stop-Zeit sein)

Sailor

An alle:

Version 0048 ist raus.


Mit dieser Version ist der Fehler des Fehlerreports beim get-Befehl behoben wonach keine Listen zurückgegeben werden.

Der get-Befehl gibt jetzt auch Werte zurück die als Zahl den Wert "0" haben als 0.0 zurück.

Die Fehlerlisten haben jetzt den richtigen Servicebaum und sind mit führender Null alpabetisch korrekt sortiert.

Ggf. "deletereading myKm200 .*" zur Bereinigung der alten Readings eingeben.

Achtung, da ich keine Fehler in meinen notifications habe, bitte ausgiebig testen und Ausgaben ins Forum stellen. Danke


Status

Update

Lister der mir bekannten und offenen Punkte die ich zur Zeit als Problem innerhalb des Moduls sehe:

BSxxxx: Bug-Symptom
BFxxxx: BugFix (Möglichkeit und way-forward)


BS0001) IMPLEMENTIERT in 0046: Manche Werte insbesondere Zahlen lassen sich nicht schreiben.
BF0001) IMPLEMENTIERT in 0046: Einführung des Attributs "ReadBackDelay" in Verbindung mit "usleep" - Befehl

BS0002) IMPLEMENTIERT in 0047:Sporadisches Verschlucken beim get/set Befehl
BF0002) IMPLEMENTIERT in 0047: Setzen eines Flag im Geräte-hash. Sobald "individiual get" oder "-set" um diese während der Initialisierungsphase zu blocken.


BS0003) Keine Einheiten im DbLog
BF0003) X_DbLog_splitFn verwenden. Allerdings rätsel ich noch, wie ich an den Geräte - hash komme da dieser nicht übermittelt wird. Forum


BS0004) IMPLEMENTIERT in 0047: Keine Fehlerberichte als Reading verfügbar.
BF0004) IMPLEMENTIERT in 0047: Auf Basis eines Forumsbeitrags programmiert. Noch kein Feedback erhalten.


BS0005) Keine Recordings als Reading verfügbar.
BF0005) Der Service "Recordings" ist bisher noch von keinem User (mit Daten gefüllt) entdeckt worden. Aus diesem Grunde sehe ich zur Zeit hierbei die Prio ganz unten.

BS0006) Kein Schreiben der Wochenprograme möglich
BF0006) set Befehl entsprechend umschreiben...


BS0007) IMPLEMENTIERT in 0045: Vielzahl der möglichen Services zu hoch. Teilweise sind Namen der Services auch vom User im RC-Modul änderbar. Statische Liste daher unsinnig.
BF0007) IMPLEMENTIERT in 0045: Über den Datentyp "eRefnum" durch die Verzeichnisse suchen und alles in ein Reading konvertieren was Werte liefert.


Liste der Prioritäten
1) BF0006
4) BF0003
5) BF0005

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo DLindner

Zitat von: DLindner am 14 April 2015, 12:02:31
Ich kann mir zumindest schon mal die Heizprogrammdaten anschauen  ;)

- Es werden nur Heizkreise angezeigt, die existieren und nicht durch DoNotPoll verbannt wurden.
- Es werden nur Heizprogramme angezeigt, die zum Heizkreis gehören und nicht durch DoNotPoll verbannt wurden.
- Sind die Start- und Stopwerte eingegeben, kann man mit einem Klick auf das Kopier-Icon die Werte nach Dienstag bis Sonntag kopieren.
- Ein Klick auf das Lösch-Icon löscht alle Werte einer Spalte (Start- und Stopwerte).

Das sieht doch schon richtig gut aus!

Gruß
   Sailor
******************************
Man wird immer besser...

DLindner

#804
Moin Sailor,

das Reading /heatingCircuits/hc1/suWiThreshold (Sommer-/Winterumschalttemperatur) wurde zwar vom km200-Modul ermittelt, gibt aber immer einen ERROR zurück, weshalb es wohl auch nicht in den aktiven Readings auftaucht (gilt auch für Hc2). Gibt es da noch ein Formatierungsproblem?

get km200 /heatingCircuits/hc2 ergibt:
Zitat/heatingCircuits/hc2/operationMode
/heatingCircuits/hc2/temperatureRoomSetpoint
/heatingCircuits/hc2/roomtemperature
/heatingCircuits/hc2/designTemp
/heatingCircuits/hc2/designTemp
/heatingCircuits/hc2/currentOpModeInfo
/heatingCircuits/hc2/heatCurveMax
/heatingCircuits/hc2/heatCurveMax
/heatingCircuits/hc2/controlType
/heatingCircuits/hc2/roomInfluence
/heatingCircuits/hc2/roomTempOffset
/heatingCircuits/hc2/setpointOptimization
/heatingCircuits/hc2/suWiThreshold
/heatingCircuits/hc2/pumpModulation
/heatingCircuits/hc2/activeSwitchProgram
/heatingCircuits/hc2/switchPrograms
/heatingCircuits/hc2/temperatureLevels
/heatingCircuits/hc2/status

ZitatAchtung, da ich keine Fehler in meinen notifications habe, bitte ausgiebig testen und Ausgaben ins Forum stellen. Danke


/notifications/Error-01  Time: 2015-04-14T16:52:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-02  Time: 2015-04-13T17:09:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-03  Time: 2015-04-14T11:01:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-04  Time: 2015-04-13T08:49:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-05  Time: 2015-04-13T17:09:00 -ErrorCode: 6L -AddCode: 229 -Category: B


Mehr braucht man nicht  8)

Sailor

#805
Hallo DLindner

Zitat von: DLindner am 15 April 2015, 09:15:45
das Reading /heatingCircuits/hc1/suWiThreshold (Sommer-/Winterumschalttemperatur) wurde zwar vom km200-Modul ermittelt, gibt aber immer einen ERROR zurück, weshalb es wohl auch nicht in den aktiven Readings auftaucht (gilt auch für Hc2). Gibt es da noch ein Formatierungsproblem?

Gib mal get km200 /heatingCircuits/hc2/suWiThreshold json ein und poste mal den String.


Zitat von: DLindner am 15 April 2015, 09:15:45
get km200 /heatingCircuits/hc2 ergibt:

/notifications/Error-01  Time: 2015-04-14T16:52:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-02  Time: 2015-04-13T17:09:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-03  Time: 2015-04-14T11:01:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-04  Time: 2015-04-13T08:49:00 -ErrorCode: 6L -AddCode: 229 -Category: B
/notifications/Error-05  Time: 2015-04-13T17:09:00 -ErrorCode: 6L -AddCode: 229 -Category: B


Mehr braucht man nicht  8)

Käse! Ich habe den array-sort-Befehl vergessen!

Gruss
    Sailor
Gruss
    Sailor
******************************
Man wird immer besser...

DLindner

Hallo Sailor,

Zitatget km200 /heatingCircuits/hc2/suWiThreshold json

Kommt nichts, kein Error, kein String, nur der Bildschirm macht einen Refresh.

Stefan M.

Hallo zusammen
hier meine Errors


/notifications/Error-01 Time: 2012-11-08T13:23:00 -ErrorCode: 6A -AddCode: 227 -Category: L 15.04.2015 09:45
/notifications/Error-02 Time: 2015-04-02T10:39:00 -ErrorCode: 0Y -AddCode: 276 -Category: B 15.04.2015 09:45
/notifications/Error-03 Time: 2015-03-25T22:35:00 -ErrorCode: A01 -AddCode: 816 -Category: A 15.04.2015 09:45
/notifications/Error-04 Time: 2015-03-25T22:29:00 -ErrorCode: A01 -AddCode: 816 -Category: A 15.04.2015 09:45
/notifications/Error-05 Time: 2015-03-25T22:28:00 -ErrorCode: A01 -AddCode: 816 -Category: A 15.04.2015 09:45
/notifications/Error-06 Time: 2015-03-25T22:25:00 -ErrorCode: A01 -AddCode: 816 -Category: A 15.04.2015 09:45


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

Sailor

Hallo DLindner

Zitat von: DLindner am 15 April 2015, 09:43:01
Kommt nichts, kein Error, kein String, nur der Bildschirm macht einen Refresh.

Was gibt die Konsole aus?
Was gibt das Log bei Level 5 aus?

Gruss
    Sailor
******************************
Man wird immer besser...

Sailor

Hallo Stefan

Zitat von: Stefan M. am 15 April 2015, 09:53:09
Hallo zusammen
hier meine Errors

Sieht gut aus.

Die Zeit wird in Version 0049 absteigend sortiert.

Gruss
    Sailor
******************************
Man wird immer besser...