Buderus KM200 Kommunikationsmodul

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

Vorheriges Thema - Nächstes Thema

DLindner

Hi Sailor,

Zitat2015.05.26 17:43:23 1: PERL WARNING: Argument "2/8" isn't numeric in numeric ne (!=) at ./FHEM/73_km200.pm line 1313.
2015.05.26 17:43:23 3: set heizung /heatingCircuits/hc2/switchPrograms/Single/5-Fr 0600 day 0800 night 1600 day 2300 night : ERROR - The service /heatingCircuits/hc2/switchPrograms/Single could not changed!

Wie ich vermutet habe akzeptiert das Programm den Single-Service als Einzelübergabe. Es kommt aber auch hier ein Fehler vom km200.pm.

cyberterminal

In welcher Reihenfolge sind den die Werte beim Auslesen?
1. dayOfWeek
2. setpoint
3. time

Und ich denke nicht, dass Buderus an der Reihenfolge von Anlage zu Anlage Unterschiede macht.
Habe bis jetzt noch keinen Unterschied diesbezüglich an anderen Anlagen gesehen.

Bitte mit einer Abfrage bei Dir vergleichen.

Gruß
Manfred

DLindner

Zitat[{"dayOfWeek":"Mo","setpoint":"day","time":240}

cyberterminal

So und nun stehst Du vor dem Problem, welches ich schon ganz zu Beginn angesprochen habe.

Du musst den String exakt so übergeben, da die Anlage sonst nix damit anfangen kann.

Ich war am Anfang sehr oft im Keller, weil ich deshalb mein KM200 oft genug abgeschossen habe.

Wenn es bei Sailor funktioniert, muss es auch bei dir klappen.

Gruß
Manfred

DLindner

Habe es nochmal ausprobiert.
Reihenfolge und Ergebnis:
Zitatset heizung /heatingCircuits/hc2/switchPrograms/Eigen2 [{"dayOfWeek":"Mo","setpoint":"day","time":240},{"dayOfWeek":"Mo","setpoint":"day","time":1280},{"dayOfWeek":"Tu","setpoint":"day","time":240},{"dayOfWeek":"Tu","setpoint":"day","time":1300},{"dayOfWeek":"We","setpoint":"day","time":240},{"dayOfWeek":"We","setpoint":"day","time":1350},{"dayOfWeek":"Th","setpoint":"day","time":240},{"dayOfWeek":"Th","setpoint":"day","time":1360},{"dayOfWeek":"Fr","setpoint":"day","time":240},{"dayOfWeek":"Fr","setpoint":"day","time":1370},{"dayOfWeek":"Sa","setpoint":"day","time":240},{"dayOfWeek":"Sa","setpoint":"day","time":1370},{"dayOfWeek":"Su","setpoint":"day","time":240},{"dayOfWeek":"Su","setpoint":"day","time":1390}] : ERROR - The service /heatingCircuits/hc2/switchPrograms/Eigen2 could not changed!

Auf dem RC35 kontrolliert und die neue Zeit wurde gesetzt.

In der Oberfläche bekomme ich keine Werte angezeigt weil:
Zitat1-Mo: 0400 day      2300 day
2-Tu: 0400 day      2140 day
3-We: 0400 day      2230 day
4-Th: 0400 day      2240 day
5-Fr: 0400 day      2250 day
6-Sa: 0400 day      2250 day
7-Su: 0400 day      2310 day


DLindner

Hi cyberterminal,

die Schnittstelle hat Sailor geschrieben und er hat auch die Reihenfolge vorgegeben. Ich habe nur die "Oberfläche" gebaut. Aber Du hast wohl recht, da muss in der Schnittstelle noch was passieren.

cyberterminal

Mhm, jetzt kann ich dazu auch nicht mehr viel sagen, da ich Fhem nicht nutze.
Aber wie gesagt, bei Sailor scheint es ja mit Deiner Oberfläche zu funktionieren?

Mal nachfragen was er den soviel anders macht als Du.

Gruß
Manfred

DLindner

#922
ZitatMal nachfragen was er den soviel anders macht als Du.

Wenn er mit der Oberfläche/Dialogen getestet hat, nichts!
Zitat Sailor:
ZitatHabe Deinen Code mit den Heizungsprogrammen nach deinen Vorgaben installiert und kann keinen Fehler finden.
Alle gewaehlten Programme sind von der Heizung uebernommen worden...  ;D
Mit Code meint Sailor die Anbindung der Oberfläche an des Interface-Programm von Sailor. Ist in Fhem alles eine wenig aufwendiger.

Bei mir funktionieren (scheinbar) auch 7 von 10 Versuche, hab's aber noch nie am RC35 kontrolliert. Jetzt im Sommerbetrieb fällt's auch kaum auf. Änder ich mehr als einen Wert, geht der Faktor nach unten, bei mehr als einer Heizperiode pro Tag noch schlechter bis Dauerfehler.


Ich glaube Du hast wieder mal den richtigen Anstoß gegeben.  ::)

Sailor

#923
Hallo DLindner

Zitat von: DLindner am 26 Mai 2015, 17:03:40
Mir wirft das Fhem-log aber noch einen Fehler aus, wenn ich Werte übergebe, die teilweise 2 Heizperioden beinhalten.

Das ist nach wie vor ein Problem der Ueberpruefungsroutine, nicht der Uebertragung.

Ich frage mich aber, woher der Bruch "3/8" herkommt???  :o
Das sollte eigentlich eine Ganzzahl sein!  >:(

KreizKruzifix nohmal, wuerden die Kollegen aus Bayern sagen!!!

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

Sailor

Hallo Manfred

Zitat von: cyberterminal am 26 Mai 2015, 18:35:27
So und nun stehst Du vor dem Problem, welches ich schon ganz zu Beginn angesprochen habe.
Du musst den String exakt so übergeben, da die Anlage sonst nix damit anfangen kann.
Wenn es bei Sailor funktioniert, muss es auch bei dir klappen.

Ich habe es jetzt mal mit allen drei Reihenfolgen probiert... sogar einen String mit gemischten Reihenfolgen!

Alle sind angenommen worden. ???

Also hier ist echt der Wurm drin!

Mein System zum Vergleich:

/gateway/versionFirmware        03.01.00
/gateway/versionHardware       iCom_Low_NSC_v1
/system/bus                           EMS2_0

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

Sailor

Hallo DLindner

Zitat von: DLindner am 26 Mai 2015, 18:49:10
Habe es nochmal ausprobiert.
Reihenfolge und Ergebnis:
Auf dem RC35 kontrolliert und die neue Zeit wurde gesetzt.

Mir war nicht bewusst, dass er zwei identische setpoints "day" ueberhaupt aktzeptiert...  :o

Aber wie gesagt, wenn das Modul noch die Fehlermeldung ausspukt obwohl die Werte richtig gesetzt wurden, liegt das an meinem Modul.

Ich frage mich aber immer noch, wieso da Brueche wie "2/8" und "3/8" bis zu dieser Programmzeile ueberhaupt ankommen...

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

Sailor

#926
Hallo Manfred, DLindner

Ignoriert mal bis auf Weiteres die Fehlermeldungen die das Modul generiert.

Messt Euren "set" - Erfolg am Besten bis zum naechsten Bugfix nur an dem, was Ihr sendet im Vergleich zu dem, was nach einem zusaetzlichen "get" in den Readings stehen habt.

Ansonsten haben wir keine identische Diskussionsbasis.

@DLindner: Mir ist aufgefallen, dass in meinem Menu die zweite Spalte nicht angezeigt, geschweige denn generiert werden kann. Dmzufolge habe ich es auch aus deinem Menu heraus immer nur mit einer Spalte getestet. Vielleicht liegen darin meine Erfolge.

Was mache ich darueber hinaus falsch?

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

DLindner

#927
Ja sorry, da fehlt noch das Reading Spalten. Habe ich gemerkt nachdem ich dir die Utils gepostet habe.
Gibt einfach ein "setreading d_climaSelect Spalten 1". Dann sollte die Dropdown-List erscheinen.
Poste mir mal die Werte deiner d_climaSelect.

Sailor

#928
Hallo DLindner

Zitat von: DLindner am 26 Mai 2015, 21:23:47
Ja sorry, da fehlt noch das Reading Spalten. Habe ich gemerkt nachdem ich dir die Utils gepostet habe.
Gibt einfach ein "setreading d_climaSelect Spalten 1". Dann sollte die Dropdown-List erscheinen.
Poste mir mal die Werte deiner d_climaSelect.

Der Befehl
"setreading d_climaSelect Spalten 1"
oder
"setreading myKm200 d_climaSelect 1"

hat scheinbar auch nichts veraendert. Es wird immer noch nicht die 3 und 4 Spalte angezeigt.


Habe nur


/system/systemType NSC_ICOM_GATEWAY
dCommand 0
dValue1 0
dValue2 0
d_climaSelect 1
fullResponse OK


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

Sailor

Zitat von: DLindner am 26 Mai 2015, 17:47:11
Wie ich vermutet habe akzeptiert das Programm den Single-Service als Einzelübergabe. Es kommt aber auch hier ein Fehler vom km200.pm.

Hallo DLindner

kannst Du mal in Version 0051, Zeile 1443a und 1443b folgende CodeZeilen einfuegen und es nochmal versuchen?



print ("Size of ReReadItem : " . %$ReReadItem . "\n");
print ("Size of JsonItem   : " . %$JsonItem   . "\n");



Was spukt deine Konsole aus?

Dran denken, wenn ein Puttz Fenster geoeffnet, dann erst fhem stoppen und wieder starten.
Sonst wird nix angezeigt.

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