NEWS
Floureon Wifi Raumthermostate
-
Danke auch….war noch ein Fehler im Adapter bei Name mit "." `
Ich habe die aktuelle Version 0.5.6 des fhem-Adapters aber das hat bei mir nicht geholfen. Seit Tagen irre ich durch die Weiten der Heimsteuerung und lege mir die Karten. Seit ich meine Objekte ohne Punkt (sondern mit Underscore) schreibe, läuft alles. Ich war mal so frei und habe ich ein Issue bei Github dazu aufgemacht, weil mich das Verhalten wundert. `
Mh…gerade bei mir mit roof.front.light als dummy getestet und geht.
Du hast den FHEM Adapter von github nochmal auf 0.5.6 aktualisiert und
hast unter fhem.0.info.Info.buildDate 07.10.18 stehen?
Falls ja, schau ich mir morgen gerne nochmal an.
Gruß
LausiD
-
Hmm, lese immer wieder MQTT…
Müsste es dann nicht auch direkt mit dem MQTT Adapter von iobroker gehen?
Oder verstehe ich da mal wieder etwas nicht richtig...? :?
BTW, es heißt padrino.
CU,
padrino
-
Hi,
ich muss sagen, die neue Version finde ich jetzt auch optisch recht ansprechend. :mrgreen:
CU,
padrino
-
Hi,
ist dieser Weg auch mit iobroker machbar? :oops:
https://forum.fhem.de/index.php/topic,8 … #msg787351
CU,
padrino
-
Hallo Padrino,
dieser Weg ist der Umweg über FHEM.
Direkt dieses auf IoBroker umsetzen, habe ich nicht versucht.
Meine Kenntnisse reichen dafür nicht. Ich warte das der Broadlink Adapter umgebaut wird.
Solange lasse ich Fhem parallel laufen.
Gruß
(Ein)Klaus
-
Hi,
da müsste ich mal schauen, ob ich FHEM zuätzlich zu iobroker auf meinem pi3 installiert/zum Laufen bekomme.
Außerdem, was ich bis jetzt so sehe, glaube ich, bei FHEM steige ich nicht (mehr) durch, dafür ist mein Kopf zu träge. :roll:
Übrigens scheint es die Thermostate jetzt auch unter der Marke "Welquic" zu geben.
https://www.amazon.de/dp/B07DPLBPYJ/
Da für gibt es die App "WeBack". Es gibt auch einen Skill mit selbem Namen.
Ob der allerdings auch tut, keine Ahnung (in dessen Beschreibung steht nur etwas von Saugrobotern).
Hätte gerne versucht, ob man die App auch mit Floureon und Konsorten steuern kann, aber leider verlangt die bei der Installation eine "Welquic" Seriennummer, man kommt also nicht weit.
CU,
padrino
-
Ich habe auch ein Floureon Thermostat.
FHEM nutze ich nicht.
Kann ich das Teil irgendwie anders in den iobroker einbinden? Gibt es da schon Lösungen?
-
Mir ist aktuell noch keine andere Lösung bekannt. Glaube mal gelesen zu haben das auch über OpenHAB geht.
Wenn der Broadlink Adapter weiterentwickelt wird, sollte es darüber gehen.
Gruß
Klaus
-
Wie geht das denn mit FHEM?
Adapter installieren und fertig?
-
Wenn du IObroker auf einen Pi/Linux System hast dann zusätzlich Fhem installieren.
Dann nach dieser Anleitung arbeiten https://forum.fhem.de/index.php?topic=80703.0
Bei einem Windows Rechner müßtet du z.B. Oracle VM VirtualBox installieren und ein Linux System dort aufsetzen.
Bei deinem IOBroker muss natürlich der FHEM Adapter installiert sein.
Gruss Klaus
-
Leider nutzt das Thermostat das ich habe die Weback App.
Und damit ist es scheinbar aussichtslos.
-
Ein Floureon Thermostat mit Weback?
Das habe ich noch nie gesehen…
Ist es eines von den neuen "runden"?
Haste mal probiert, ob die App "room heat (eu)" auch geht?
Einen weback skill gibt es ja, ungerstützt der keine Thermostate (ich weiß, Beschreibung sagt nur was von Saugrobotern, aber mal probiert?)?
CU,
padrino
-
Das hier habe ich:
https://www.ebay.de/itm/Floureon-C17-GH … :rk:1:pf:0
Die room-heat app muss ich mal testen.
Arbeitet der Skill dann nur mit Alexa? Ich möchte das Thermostat in iobroker einbinden. Möchte realisieren, dass wenn der Fensterkontakt offen ist, sollte die Heizung (Thermostat) ausgeschaltet werden.
-
Hmm,
sieht äußerlich aus, wie gewohnt, seltsam mit der App…
Den Skill kenne ich leider nicht - nur vom Namen her.
Ich kann hier kein Termometer mit der "weback" app installieren, da ich keine gültige Seriennummer angeben kann, die abgebfragt wird.
Und ohne eingetragenes Gerät in der App macht der Skill auch nix.
Aber ja, der Skill ist nur für Alexa.
Was iobroker angeht, da müssen wir weiter warten und hoffen.
CU,
padrino
-
moin moin,
gibt es denn schon neuigkeiten
-
@Olfrygt
Hallo alle mitsammen!
Ich überarbeite gerade den broadlink2-Adapter und habe mir auch das Floureon angesehen. Ich habe eines geliehen bekommen und habe versuch es einzubinden.Leider funktioniert das überhaupt nicht! das Gerät verwendet das Broadlink-Protokoll nur am Anfang um ins W-Lan integriert zu werden und im W-Lan gefunden zu werden.
Ab dann redet es nur noch über externe Server mit der App https://play.google.com/store/apps/details?id=com.davell.heat_eu
Die App sucht das Teil im Netzwerk, nimmt Kontakt auf mit zwei Servern in China und holt sich dort anscheinend keys, mit welchen sie dann einen anderen Server in der Amazon-cloud anspricht und dieser kontaktiert dann das Gerät um daten zu senden/Empfangen. Das geht, Mit Ausnahme des keys, bei jedem touch auf die App oder alle x-Sekunden so, über die Server in China und in der AWS laufen alle Daten! Das Handy greift nie dirket lokal auf das Floureon zu, mit ausNamhe dass es eine broadcast Message schickt wo siech alle Broadlink-Geräte melden und ihre Typen, ID's und Macs bekanntgeben.
Ich habe im Web auch einige Bibliotheken gefunden, am prominentesten ist broadlink-phython, welches oft verwendet wird.
Dabei bin ich draufgekommen dass dies nur mir Geräten mir 3 verschiedenen Mac-Adressen-Reihen funktioniert.
Mei Teil hat aber leider eine andere Adresse!
Ich habe auch eine Anleitung gefunden wie man mittels dem China-Server mit dem Gerät kommunizieren kann, aber es funktioniert anscheinen nur auf den chinesischen Typen, nicht die EU-Version.Habe auch eine Original API-Beschreibung von Broadlink ergattert, da tauchen diese Geräte auch nicht auf aber es hilft mir andere Geräte einzubinden die ich noch nicht implementiert hatte
Zusammenfassung:
- ich persönlich würde dieses Teil nie einsetzten da es nicht 'lokal' funktioniert. Alle anderen Teile des Broadlink2-Adapter kommunizieren nur lokal im Netz und greifen nicht auf externe server zu! Das gilt wahrscheinlich auch für die Floureon web cams übrigens!
- Alle Hilfsmittel (FEHM, Python, MQTT) haben auf meinem Teil nicht funktioniert (und die Server die angesprochen werden haben andere IPs/Namen als alle Beispiele vorgeben)
- Das Teil hat eine sehr große Hysterese, es kann nur 0,5° auflösen und schaltet meist bei Sollwert-1° Grad ein und Sollwert +1° aus, das möcht ich bei mir nicht haben!
p.s.: Habe mir ein Broadlink S1C bestellt Amazon und werde versuchen das einzubinden. Das schaut mir nach normalen broadlink lokal aus soweit ich python lesen kann.
-
Sehr schade, aber danke fürs probieren.
Kannst Du mir sagen, welche Mac Adressen gehen könnten?
Würde mal schauen, welche meins hier hat...
-
Leider vergessen auf welcher Seite ich das genau gefunden hab, aber von da bin ich ausgegangen:
https://community.openhab.org/t/electronic-heating-thermostat-reverse-engineering-beok-floureon-decdeal/39251
https://community.home-assistant.io/t/wifi-thermostat-beok-floureon-beca-energy-component/48519/40und andere Seiten von FEHM u.s.w.
Ich glaube dass du den Test mit Pythopn machen solltest, wenn das geht kann ich es einbinden.
Leider kommuniziert mein gerade zurückgeschiktes Floureon nur mit der cloud app und bringt bei jedem Versuch wie bei anderen BL-Devices mit ihnen zu Sprechen einen Fehler -6, im Python und bei meinem Javascript-Versuch! -
@martin sagte in Floureon Wifi Raumthermostate:
Das hier habe ich:
Hat etwas Zeit in Anspruch genommen aber ich habe das C17-GH3 jetzt mit iobroker am laufen (via mqtt). Aber es ist Patching der Firmware erforderlich. Die Aussagen von frankjoke stimmen, das Thermostat redet nach der Initialconfig nur noch mit der Amazon IOT cloud. Das ist aber schlicht MQTT TLS.
Ausgangspunkt für mich war, das die Alexa App nur die Solltemperatur und nicht die aktuelle Raumtemperatur anzeigt, die WeBack APP aber beides.Das Thermostat verwendet einen ESP-12S und die Firmware ist zumindest bei meinem nicht gegen auslesen geschützt.
Erforderlich sind die folgenden Schritte, openssl, ein Hex Editor und esptool.py und die (USB-)Adapter die man zum Flashen eines Arduinos braucht.- Eigenen MQTT Broker mit SSL auf Port 8883 aufsetzen: eigenes Zertifikat mit cn= *.iot.eu-central-1.amazonaws.com , signiert durch eigenes self signed ca Zertifikat. Das * ist zwingend, ein Zertifikat auf den dedizierten Zielhost wird durch die SSL Validierung im ESP abgelehnt.
- Eigener lokaler DNS Server, mit dem der Zielhost a9vvblgf32b6o.iot.eu-central-1.amazonaws.com auf den eigenen MQTT Broker umgebogen wird. Bin nicht sicher ob der Hostname bei allen C17-GH3 identisch ist. Mag von der Firmwareversion und der Geräte Version abhängen, jedenfalls ist der konkrete Hostname im der Firmware als c-string enthalten.
- Firmware aus ESP auslesen und den enthaltene Public Key des Verisign CA Zertifkats durch den Public Key der eigenen CA ersetzen. Das Zertifikat ist ebenfalls als c-string in der Firmware enthalten und daher darf das eigene ca Zertifikat im PEM Form nicht länger sein als das Verisign Zertifikat, aber auch nicht kürzer. Eigenes Zertifikat daher mit Leerzeichen am Ende (nach "-----END CERTIFICATE-----") auf konkrete Länge des Verisign Zertifikates auffüllen. Wenn das eigene Zertifikat zu lang ist: Auf 1024 bit Schlüssel und SHA1 reduzieren. Anschließend gepatchte Firmware wieder in den ESP flashen.
- Da die Firmware ein OTA Update zuläßt hab ich dem Thermostat den Internetzugang in der Firewall verboten, sonst würde das nächste Firmwareupdate alles wirder zunichte machen.
Achtung: das Zertifikat ist wie nahezu alle anderen Abschnitte an zwei Stellen in der Firmware enthalten. Vermutlich wegen der OTA Funktion.
Seit dem sendet Das Thermostat sobald eine Wertänderung eintritt eine Nachricht an meine lokale MQTT Instanz in Form einer json Nachricht:
Topic: $aws/things/<thermostat id>/shadow/update
message:
{
"state":{
"desired":{
"connected":"true",
"working_status":null,
"safe_lock":null,
"set_tem":null,
"workmode":null,
"bgl":null,
"poweron_state":null,
"freeze_protect":null,
"tem_uint":null,
"control_mode":null,
"tem_cal":null,
"inter_sen_cal":null,
"outer_sen_cal":null,
"outer_sen_top":null
},
"reported":{
"connected":"true",
"offset_hours":0,
"offset_minutes":0,
"working_status":"on",
"workmode":"hand",
"air_tem":232,
"floor_tem":0,
"set_tem":46,
"safe_lock":"off",
"bgl":"auto",
"poweron_state":"keep",
"freeze_protect":"off",
"tem_uint":"C",
"control_mode":"inter",
"tem_cal":-20,
"inter_sen_cal":10,
"outer_sen_cal":30,
"outer_sen_top":55,
"Mon":"06:00_044C,08:00_030C,11:00_044C,12:30_030C,17:00_044C,22:00_030C",
"Tues":"06:00_044C,08:00_030C,11:00_044C,12:30_030C,17:00_044C,22:00_030C",
"Wed":"06:00_044C,08:00_030C,11:00_044C,12:30_030C,17:00_044C,22:00_030C",
"Thur":"06:00_044C,08:00_030C,11:00_044C,12:30_030C,17:00_044C,22:00_030C",
"Fri":"06:00_044C,08:00_030C,11:00_044C,12:30_030C,17:00_044C,22:00_030C",
"Sat":"06:00_044C,08:00_044C,11:00_044C,12:30_044C,17:00_044C,22:00_030C",
"Sun":"06:00_044C,08:00_044C,11:00_044C,12:30_044C,17:00_044C,22:00_030C"
}
}
}air_tem ist die aktuelle Lufttemperatur *10
set_tem ist die Zieltemperatur * 2Es spielen auch noch die folgenden Topics in der Kommunikation eine Rolle, Details dazu noch in Arbeit:
Gerät meldet sich beim nächsten Einschalten:
Topic: WeBack/LWT/device_change/device_offline (kommt nicht bei längerer Zeit stromlos)
{"Thing_Name":"<thermostat id>","connected":"false"}
Kommt bei jedem Einschalten:
Topic: $aws/things/<thermostat id>/shadow/update
{"state":{"desired":null, "reported":{"connected":"true","config_app":"WeBack","firmware_version":"3.1.2rel"}}}
Kommt bei jedem Einschalten:
Topic: WeBack/device_change/notify_from_device
{
"Notify_Reason": "timestamp_sync_req",
"Thing_Name": "<thermostat id>",
"Offset_Hours": 0,
"Offset_Minutes": 0
}<thermostat id> entspricht "by-t03-aa-bb-cc-dd-ee-ff" mit aa-bb-cc-dd-ee-ff = MAC des ESP
-
@jaghatei
Danke für die tolle Anleitung, wäre nichts für mich persönlich...Habe mir gerade einen wireless Router mittels eines Raspi2 gebaut und versuche mit Wiresharkiden Dingen auf die Schliche zu kommen.
Bin draufgekommen dass alle Broadlionk-Teile mit China 'telefonieren', aber in UDP und nicht IP/MQTT!
Bin auch draufgekommen dass sie vorerst versuchen mit einem lokalen Rechner in Kontakt zu kommen der auf port 15001 zuhört, antwortet dieser nicht dann versuchen sie einen main-Adresse und eine Backup-adresse zu erreichen, auf verschiedenen ports.
Sie kommunizieren dann alle 25 Sekunden mit dem gefundenen Rechner.Ich habe mir auf der Fritzbox eine Regel 'nur surfen und mailen' erstellt, diese schließt UDP-Kommunikation nach außen aus und teile diese diesen IP's/Macs zu damit sie nicht mehr mit ihren Servern sprechen können. Sie versuchen dann zwar noch immer dns-anfragen für die zwei server zu bekommen, können aber nicht mehr mit ihnen kommunizieren.
Ich versuche jetzt den lokalen server zu simulieren und zu schauen ob man das implementieren könnte ohne das man das Netzwerk verändert.
Ich konzentriere mich aber nicht auf das Floureon sonder auf die anderen Teile. Ziel ist hier dass der Adapter verhindert dass die Geräte nach Hause sprechen und dass man sie mittels einer einfachen Regel 'einsperren' kann ohne sie umprogrammieren oder eigene DNS-Server zu installieren.
Noch einige andere 'Observations':
- Die Geräte ändern ihre MAC-Adressen! Sobald sie das Netzwerk ändert (Die mac-Adresse des routers wahrscheinlich ) ändert das Gerät auch seine MAC-Adresse! Ich hatte zuerst ein Testnetzwerk mit der mobilöe hotspot-Funktion meines notebooks gemacht und am Raspi dann das selbe Netzwerk verwendet. Die Geräte haben auf den beiden Netzwerken dann neue Hostnamen und Macs! Das Erklärt mir auch als ich ein Mesh-Netzwerk aufgebaut habe und das als brige hinter der Fritzbox betrieben habe dass damals alle neu 'eingefangen' werden mussten mittels fritzbox Namen! Einige Nutzer habe auch davon berichtet dass sie Namenänderungen hatten.
- Die Geräte melden sich am Netzwer an und versuchen dann lokale Kommunikation aufzubauen. Es ist mir schon gelungen dies im Adapter zu nutzen da ich Geräte die abgemeldet waren und wieder ins netzwerk kommen damit wieder identifizieren und einbinden kann (sofern sich das Netzwerk (der WLan-Router) nicht verändert hat..
p.s.: Hätte eine Frage an Spezialisten: Verwende am selbstbau-router dnsmasq, wie kann ich dort dns-adressen 'asusschalten' (auf 127.0.0.1 setzten wie im hosts-file?)