Siemens Home Connect Hausgeräte

Begonnen von DasAndy, 19 November 2014, 14:31:46

Vorheriges Thema - Nächstes Thema

docfred

Mit der Erhöhnug auf 8000 ist die Zerstückelung weg

CoolTux

Kannst du bitte mal statt 8000 1024 versuchen?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

docfred

Mit 1024 scheint es auch zu funktionieren.

erwin

Hi,
Das Problem ist, dass keine "end of Message" detection da drin ist. Ich hab jetzt einen Record, der ist ca. 1800Bytes lang, das sind 2 events in einem rutsch drin.
das bringt natürlich die Auswertung erst recht durcheinander....
Ich kann aber nichts dazu beitragen weil ich die end of message nicht weiß.
Wenn ich mir andere Module anschaue, dann ist dort meist eine regex auf "end-msg" definiert (z.b:"\r\n\r\n"). Solange diese nicht da ist, wird irgendwo zwischengespeichert und dann erst die msg geparsed. Wenn ich den code dzt. richtig verstehe, wird vom Input gelesen, bis nichts mehr kommt ($len=0), und dann geht das parsen los...
Meistens kommt ja ein json konstrukt. aber offensichtlich nicht immer....
l.g. erwin
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

swhome

#169
Hallo allseits, vielen Dank für die Ursachenforschung!

Was die Pufferlänge in sysread($hash->{conn},$buf,1); angeht: Meine Idee war, immer nur ein Zeichen zu lesen bis alles gelesen ist was im Stream zur Verfügung steht. Ich hatte Angst dass es ansonsten zu einer Blockierung von FHEM kommen könnte. Anscheinend ist dies aber nicht der Fall. Ich werde auch mit einem größeren Puffer experimentieren.

Derweil war ich nicht untätig und habe eine Wiki-Seite für unser Modul angelegt: http://www.fhemwiki.de/wiki/HomeConnect

Nun noch ein Aufruf an alle Betatester die sich hier noch nicht gemeldet haben:

Bitte beschreibt hier mal den aktuellen Stand bei Euch (also wenns läuft: welche Geräte sind angeschlossen, was macht ihr damit? Wenns noch nicht läuft: woran hakts?) Es gibt noch weitere interessierte Tester, daher würde ich unbenutzte Testlizenzen gern weitergeben, wenn jemand jetzt doch kein Interesse oder keine Zeit dafür hat.
Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

omnior

Nach ein paar Startschwierigkeiten hab ich jetzt unseren Kühlschrank (genauer Kühl/Gefrierkombination) SIEMENS-KG39NAI45 mit Fhem verbunden und bekomme zumindest mal eine offene Tür angezeigt. Leider gibt es auch mit der Smartphone App keine Möglichkeit die tatsächliche Temperatur des Innenraums zu messen, irgendwie muss die ja aber eigentlich irgendwo vorhanden sein. Im Gegensatz dazu gibt es am Smartphone die Möglichkeit die Solltemperatur einzustellen. Hier habe ich noch nicht herausgefunden ob bzw. wie das mit Fhem realisiert werden könnte. Gibt es noch jemanden der Kühlschränke testet?

Vielen Dank auf jeden Fall an Stefan :)

omnior

Also eingestellte Temperatur des Kühlschranks sollte laut API hiermit gehen:
{
    "data": {
        "key": "Refrigeration.FridgeFreezer.Setting.SetpointTemperatureRefrigerator",
        "value": 6,
        "unit": "°C"
    }
}


und für den Gefrierteil:
{
    "data": {
        "key": "Refrigeration.FridgeFreezer.Setting.SetpointTemperatureFreezer",
        "value": -18,
        "unit": "°C"
    }
}


schon jemand ausprobiert?

swhome

Hallo omnior, das Lesen/Ändern von "Settings" habe ich noch nicht implementiert. Ich schau mir das mal an. Die "simplen" Temperaturwerte sind einfach zu realisieren. Hast Du schon eine Idee was Du damit anstellen willst?

P.S. ich verstehe auch nicht warum der Kühlschrank die Ist-Temperatur nicht übermittelt...

Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

omnior

Zitat von: swhome am 29 November 2016, 08:59:24
Die "simplen" Temperaturwerte sind einfach zu realisieren. Hast Du schon eine Idee was Du damit anstellen willst?

Wäre halt prima wenn man die Einstellungen aus der HomeConnect App nutzen könnte, das sind:
- Einstellen der Kühlschrank Temperatur von 2-8 Grad wählbar
- Superkühlen an oder aus
- Einstellen der Gefriertemperatur -16 bis -24 Grad wählbar
- Supergefrieren an oder aus
- Urlaubsmodus
- Energiesparmodus
- Frische-Modus
- Sabbat-Modus (naja für mich nicht so interessant :-) aber wer's braucht)

Ich habe im Moment einen Z-Wave Licht/Bewegungs/Temperatursensor im Kühlschrank liegen. Damit kann ich auf jeden Fall mal die tatsächliche Temperatur messen (mir sind tatsächlich schon mal zwei Kühlschränke "unbemerkt" durch geringere Kühlleistung lange nicht aufgefallen) und wenn man über die Settings dann z.B. nachstellen kann wäre das super. Da ich die Temperatur schon seit längerem messe, stellte ich fest, dass häufig durch Einlagern nach größeren Einkäufen die Temperatur im Kühlraum deutlich ansteigt. Da arbeitet natürlich der Kühlschrank grundsätzlich dagegen, aber ein temporäres Superkühlen oder auch eine temporär niedrigere Solltemperatur hilft vielleicht den Normalzustand wieder schneller zu erreichen.
Den Tür Offen Zustand kann ich jetzt schon mal einfacher in fhem feststellen, dann brauche ich das Gefummel mit dem ZWave Sensor an der Tür nicht mehr. Was auch noch gut wäre, weiß nicht ob die untere Tür (das Gerät hat zwei Türen) auch mit dem selben Sensor gemeldet wird, muss ich nochmal checken. Oder gibt es zwei Türsensonsoren in der API?

omnior

Also habs grad nochmal gecheckt. Die HomeConnectApp signalisiert sofort und unverzüglich eine offene Kühlschranktür oder eine offene  Gefrierschranktür. Sind beide offen, wird nur die Gefrierschranktür angezeigt, sie hat offensichtlich "Priorität".
In der API steht etwas von drei Zuständen, open, closed und locked. Hier bin ich noch nicht ganz schlau geworden, denn wenn der Kühlschrank nur einen Spalt geöffnet ist, zeigt auch die App noch nichts an, erst wenn er ein paar Zentimeter offen ist. Blöd wäre es aber trotzdem wenn man das nicht bemerken würde, manchmal fällt die Tür eben nicht ganz zu. Auf jeden Fall gibt es getrennte Sensoren für beide Türen.

Ansonsten ist mir heute früh aufgefallen, ich bekomme im fhem keine Open Door Meldung mehr angezeigt. Habe token refresht, auch einmal neues Login und neu gescannt, hat aber alles nichts gebracht. Mein BSH.Common.Status.DoorState steht auf Closed egal was die Tür macht, das letzte Datum ist noch von gestern abend..

docfred

Ich hab einen
Bosch Serie 8 HSG636XS6 Dampfbackofen

Im Gegensatz zum Simulator geht das Einstellen und Starten ja momentan (noch??) nicht.

Was bei mir bei den EVENTs immer noch nicht gemetdet wird (siehe auch weiter vorne im Thread)
Cooking.Oven.Status.CurrentCavityTemperature.

Ich hab immer noch Sorge, das bei Parsen eine EVENT unterschlagen wird. Was mir auch noch auffiel ist, dass dieser EVENT vom Typ STATUS ist, wärend die EVENTs die ich bekomme vom Typ EVENT sind.

Nach einem SET ..... INIT bekommen ich neben vielen anderern Status auch oben genannten, nicht aber als EVENT. Kann mir kaum vorstellen, dass dies an meinem Backofen liegt.


swhome

Ein Update ist verfügbar, installieren wie gewohnt mit
update all https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt

@CoolTux, docfred, herrmannj, erwin
Vielen Dank für Euren Einsatz rund um den Event Channel. Mit den Anregungen und Ergebnissen habe ich eine neue Version gebaut die zumindest bei mir deutlich besser funktioniert. Das "hängende E" gehört der Vergangenheit an.

@omnior
Die neue Version kann nun Settings lesen und schreiben. Du musst im betreffenden Gerät zunächst einen

set KG39NAI45 requestSettings

durchführen, danach kannst Du z.B.

set KG39NAI45 Refrigeration.FridgeFreezer.Setting.SetpointTemperatureFreezer -20 °C

nachschicken.

@docfred
Bitte lass deinen Ofen weiterhin auf verbose 5 und schau was an Rohdaten gemeldet wird. Nachdem es bei zwei anderen Öfen und im Simulator gut funktioniert, glaube ich noch nicht so recht an einen Fehler in meinem Code  ::)

Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

omnior

update all https://raw.githubusercontent.com/sw-home/FHEM-HomeConnect/master/controls_homeconnect.txt

ergibt:

2016.11.29 18:45:38 1 : UPD FHEM/48_HomeConnect.pm
2016.11.29 18:45:39 1 : Got 24750 bytes for FHEM/48_HomeConnect.pm, expected 41816
2016.11.29 18:45:39 1 : aborting.

swhome

Sorry, ein Fehler im Control-File. Jetzt gehts.
Im Einsatz: FHEM auf Raspberry Pi mit 350 devices, hauptsächlich Homematic Wired und HM-Heizungsregler, dazu diverse Eigenbauten für Fussbodenheizung und LED Beleuchtung. Und jetzt mit Alexa!

omnior

jetzt erhalte ich (nach Neustart und neuerlichem Login):
2016.11.29 19:35:53 2 : set command: requestSettings
2016.11.29 19:36:03 2 : KG39NAI45 found nothing to read, channel closed