!!!ABGELÖST!!! [74_XiaomiFlowerSens.pm] Xiaomi Flower Monitor

Begonnen von CoolTux, 17 November 2016, 13:25:06

Vorheriges Thema - Nächstes Thema

CoolTux

Und ich glaube auch wieso. Ich werde da wohl noch was zusätzlich einbauen müssen. Kannst erstmal wieder verbose abstellen. Ich sehe jetzt wo es hängt
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

CoolTux

Version 0.6.6 kommt heute per Update rein. Damit ist nun das Problem mit den uninitialized values behoben.
Du hast aber immer noch ein Problem mit Deinem Sensor.

Characteristic Write Request failed: Internal application error: I/O


Kann Dir aber nicht sagen was das heißt. Zu mindest sollte es, sofern die Meldung nur sporadisch auf tritt, nun rund laufen.
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

mumpitzstuff

Ich habe bei mir ein Problem entdeckt, das leider auch bei dir enthalten ist/war, da ich die selbe Codebasis benutze.

Das Attribut hciDevice kann man zwar schön auf irgendwas setzen, aber leider wird dann im Code versucht mit der Funktion ReadingsVal() das Attribut auszulesen. Das klappt leider nicht, da hciDevice ein Attribut und kein Reading ist. Deshalb geht dein Code immer nur mit hci0 (default Wert), egal was man im Attribut einstellt.

Bei mir habe ich deshalb den Wert ins hash geschrieben, entsprechend Attribute Set implementiert und dann genauso wie die mac durchgereicht. Die Änderungen waren leider etwas umfangreich...

PS: Ich habe nicht nachgesehen, ob du da inzwischen selbst was veränderst hast...

CoolTux

Oh, das wäre ja böse. Ich schaue da mal nach. Ist wenn bestimmt ein Schreibfehler von mir. Muss dann natürlich AttrVal heißen.

Danke für die Info.
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

stoxx

ZitatDeshalb geht dein Code immer nur mit hci0 (default Wert), egal was man im Attribut einstellt.
Dann wäre ja bei mir lepresenced und die Pflanzen-Sensoren bisher immer über den selben BT Dongle gelaufen, und das ohne Probleme??! Kann ich mir kaum vorstellen..
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..

CoolTux

Habe gerade im Code geschaut. Mumpitz hat Recht. Das könnte auch Deine Probleme hin und wieder erklären.

Ich besser das heute Abend aus.
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

stoxx

ZitatHabe gerade im Code geschaut. Mumpitz hat Recht. Das könnte auch Deine Probleme hin und wieder erklären.
Nein, kann das definitiv nicht bestätigen. Die Pflanzen-Sensoren werden bei mir vom richtigen Dongle (hci1) abgefragt. Das sehe ich über die LED am Dongle, die leuchtet , wenn Daten abgefragt werden. Der Code-Fehler, den Du entdeckt hast, könnte aber tatsächliche Ursache der (seltenen) Fehlermeldungen sein, die ich mal früher beschrieben habe und immer noch ab und zu bekomme..
Raspberry mit CUL, FS20, FHT, HMS, BLE, Z-Wave, Zigbee ..

mumpitzstuff

Ich muss gestehen, dass mir das nicht wegen dem hci device aufgefallen ist, da ich hci0 verwende und lepresenced auf hci1. Ich habe ein andres Attribut verwendet und genauso versucht zu benutzen und bekam immer nur den default Wert geliefert. Deshalb würde es mich wundern wenn das tatsächlich trotzdem funktioniert hat. Ich hab jetzt leider schon den Code bei mir stark angepasst und kann das nicht mehr validieren. Schau am besten noch mal genau nach.

CoolTux

Habe es gerade umgeschrieben. Waren ja nur 5 Buchstaben zu ändern. Jetzt läuft es auch, habe gerade getestet.
Werde es nachher noch frei geben.
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

mumpitzstuff

Mir ist noch was aufgefallen, nachdem ich dann endlich die beiden Sensoren erhalten und in Betrieb genommen habe. Du schreibst bei einer neuen Firmware einen Wert. Laut Logfile passiert dann sowas, wenn das beim ersten Mal schief läuft:


2017.02.11 00:19:28 4: Sub XiaomiFlowerSens_callGatttool (MyPlant2) - call gatttool charWrite loop 1
2017.02.11 00:19:28 4: Sub XiaomiFlowerSens_callGatttool (MyPlant2) - charWrite wresp: connect error: Transport endpoint is not connected (107)

2017.02.11 00:19:28 4: Sub XiaomiFlowerSens_callGatttool (MyPlant2) - run gatttool


Du schaust leider nur ob irgendwas zurück kommt, prüfst aber nicht, ob es ein Fehler oder die erwartete Antwort ist und machst dann einfach weiter. Der Rest geht dann schief, weil das Schreiben zuvor nicht geklappt hat. Ich würde hier genau das selbe machen wie bei den beiden anderen Reads vom Sensor und mittels Regexp nach der erwarteten Antwort suchen und erst dann weiter laufen.

Da meine Sensoren ziemlich am Rande des Empfangsbereiches sind, braucht es meist mehrere Versuche bis es klappt und deshalb habe ich den Fehler wirklich ziemlich oft.

CoolTux

#325
Kann bitte mal jemand mit einer anderen Firmware wie 2.6.2 diese Modulversion testen?
Hier würde auch das hci Problem gelöst.
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

gent

Hi,

Zitat von: CoolTux am 11 Februar 2017, 12:44:22
Kann bitte mal jemand mit einer anderen Firmware wie 2.6.2 diese Modulversion testen?
Hier würde auch das hci Problem gelöst.

ich habe das gerade bei mir installiert und habe die Firmware 2.8.6. Werte werden gelesen. Scheint also OK zu sein.

Viele Grüße vom gent
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto

slawekking

#327
Hallo,

habe ein Problem mit den Sensoren und benötige daher Unterstützung. Habe 3 Stück, leider empfängt nur einer Daten.

Die nicht korrekt funktionierenden haben den Status unreachable und charWrite faild. Mit der Xiaomi App funktionieren die einwandfrei.

Wenn ich die mit gatttool -I anspreche funktionieren die kurzzeitig verlieren aber nach kurzer Zeit die Verbindung.

Gruß

Christoph

CoolTux

Welche Firmware hast Du? Und ich brauche bitte ein verbose 5 Log von Dir.
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

gent

Zitat von: CoolTux am 11 Februar 2017, 12:44:22
Kann bitte mal jemand mit einer anderen Firmware wie 2.6.2 diese Modulversion testen?
Hier würde auch das hci Problem gelöst.

Hi, ich hatte heute auch mal ein CharWrite failed von einem meiner Sensoren. Mir persönlich macht das nichts aus, aber wenn ich mit irgendwelchen Logfiles dienen kann, dann einfach melden (Firmware 2.8.6, Modul 0.6.8)

Viele Grüße
fhem auf rPi3 mit USB boot und M2, cul866 (hm), homebridge, FlowerSens, Shelly, Harmony, WemosD1, Sonoff/Tasmota, grafana, mqtt/mosquitto