Neues Modul: EQ3 Bluetooth Thermostat (10_EQ3BT)

Begonnen von dominik, 12 November 2016, 11:45:15

Vorheriges Thema - Nächstes Thema

CoolTux

Warte mal noch. Habe gerade noch einen anderen Fehler gefunden.
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

Gasmast3r

Zitat von: CoolTux am 03 März 2018, 12:17:03
Warte mal noch. Habe gerade noch einen anderen Fehler gefunden.
So schnell bin ich auch nicht.
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

CoolTux

#287
Ich denke ich habe einen kleinen Bug gefunden. Es kann natürlich auch ein gewisser Sinn dahinter gesteckt haben, aber wenn habe ich ihn im Code nicht finden können.


sub EQ3BT_retryGatttool {
    my ($hash, $workType) = @_;
    $hash->{helper}{RUNNING_PID} = BlockingCall("EQ3BT_execGatttool", $hash->{NAME}."|".$hash->{MAC}."|$workType|".$hash->{helper}{"handle$workType"}."|".$hash->{helper}{"value$workType"}."|".$hash->{helper}{"listen$workType"}, "EQ3BT_processGatttoolResult", 60, "EQ3BT_killGatttool", $hash);
    return undef;
}


Das $hash->{helper}{"listen$workType"} ergibt für mich keinen Sinn. In jeder anderen Funktion wird der String listen übergeben, nur hier werden Fehlermeldungen übergeben, daher hat der timeout nicht zugeschlagen aber das --listen weil ich da nur auf defined($listen) gescheckt habe.
Weiter unten in der Auswertung der gatttool Ergebnisse wird dann wieder eq 'listen' geprüft. Macht also alles keinen Sinn und ich habe das nun geändert in


sub EQ3BT_retryGatttool {
    my ($hash, $workType) = @_;
    $hash->{helper}{RUNNING_PID} = BlockingCall("EQ3BT_execGatttool", $hash->{NAME}."|".$hash->{MAC}."|$workType|".$hash->{helper}{"handle$workType"}."|".$hash->{helper}{"value$workType"}."|listen", "EQ3BT_processGatttoolResult", 60, "EQ3BT_killGatttool", $hash);
    return undef;
}
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

Gasmast3r


2018.03.03 12:47:09 1: EQ3BT (EZ2) - listen Debug, listen: listen
2018.03.03 12:47:09 1: EQ3BT (EZ2): timeout 10 gatttool -i hci0 -b 00:1a:22:05:22:1c --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:47:12 1: EQ3BT (ZU) - listen Debug, listen: listen
2018.03.03 12:47:12 1: EQ3BT (ZU): ssh pi@192.168.178.46 'timeout 10 gatttool -i hci0 -b 00:1A:22:05:F8:8F --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null'
2018.03.03 12:47:16 1: EQ3BT (ZO1) - listen Debug, listen: listen
2018.03.03 12:47:16 1: EQ3BT (ZO1): timeout 10 gatttool -i hci0 -b 00:1A:22:05:F8:18 --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:47:22 1: EQ3BT (WCO) - listen Debug, listen: listen
2018.03.03 12:47:22 1: EQ3BT (WCO): timeout 10 gatttool -i hci2 -b 00:1A:22:05:27:E5 --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:47:52 1: EQ3BT (EZ1) - listen Debug, listen: listen
2018.03.03 12:47:52 1: EQ3BT (EZ1): timeout 10 gatttool -i hci2 -b 00:1A:22:09:0F:19 --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:48:00 1: PERL WARNING: Use of uninitialized value $listen in concatenation (.) or string at ./FHEM/10_EQ3BT.pm line 545.
2018.03.03 12:48:00 1: EQ3BT (ZU) - listen Debug, listen:
2018.03.03 12:48:00 1: EQ3BT (ZU): ssh pi@192.168.178.46 'gatttool -i hci0 -b 00:1A:22:05:F8:8F --char-write-req -a 0x0411 -n 4126 2>&1 /dev/null'
2018.03.03 12:48:05 1: EQ3BT (EZ1) - listen Debug, listen: listen
2018.03.03 12:48:05 1: EQ3BT (EZ1): timeout 10 gatttool -i hci2 -b 00:1A:22:09:0F:19 --char-write-req -a 0x0411 -n 031203030C30 --listen 2>&1 /dev/null
2018.03.03 12:48:06 1: EQ3BT (KU) - listen Debug, listen: listen
2018.03.03 12:48:06 1: EQ3BT (KU): timeout 10 gatttool -i hci0 -b 00:1A:22:09:0F:34 --char-write-req -a 0x0411 -n 031203030C30 --listen 2>&1 /dev/null
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

CoolTux

Ich will ja nicht zu früh schreien. Aber bei mir läuft es nun sauber durch.
Ich muss zugeben ich bin schon etwas neidisch wie der liebe Dominik die Fehlerbehandlung abfängt. Da kann ich sicherlich noch was für meine Module mitnehmen.
DANKE!



Grüße
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

Zitat von: Gasmast3r am 03 März 2018, 12:49:17

2018.03.03 12:47:09 1: EQ3BT (EZ2) - listen Debug, listen: listen
2018.03.03 12:47:09 1: EQ3BT (EZ2): timeout 10 gatttool -i hci0 -b 00:1a:22:05:22:1c --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:47:12 1: EQ3BT (ZU) - listen Debug, listen: listen
2018.03.03 12:47:12 1: EQ3BT (ZU): ssh pi@192.168.178.46 'timeout 10 gatttool -i hci0 -b 00:1A:22:05:F8:8F --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null'
2018.03.03 12:47:16 1: EQ3BT (ZO1) - listen Debug, listen: listen
2018.03.03 12:47:16 1: EQ3BT (ZO1): timeout 10 gatttool -i hci0 -b 00:1A:22:05:F8:18 --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:47:22 1: EQ3BT (WCO) - listen Debug, listen: listen
2018.03.03 12:47:22 1: EQ3BT (WCO): timeout 10 gatttool -i hci2 -b 00:1A:22:05:27:E5 --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:47:52 1: EQ3BT (EZ1) - listen Debug, listen: listen
2018.03.03 12:47:52 1: EQ3BT (EZ1): timeout 10 gatttool -i hci2 -b 00:1A:22:09:0F:19 --char-write-req -a 0x0411 -n 031203030C2F --listen 2>&1 /dev/null
2018.03.03 12:48:00 1: PERL WARNING: Use of uninitialized value $listen in concatenation (.) or string at ./FHEM/10_EQ3BT.pm line 545.
2018.03.03 12:48:00 1: EQ3BT (ZU) - listen Debug, listen:
2018.03.03 12:48:00 1: EQ3BT (ZU): ssh pi@192.168.178.46 'gatttool -i hci0 -b 00:1A:22:05:F8:8F --char-write-req -a 0x0411 -n 4126 2>&1 /dev/null'
2018.03.03 12:48:05 1: EQ3BT (EZ1) - listen Debug, listen: listen
2018.03.03 12:48:05 1: EQ3BT (EZ1): timeout 10 gatttool -i hci2 -b 00:1A:22:09:0F:19 --char-write-req -a 0x0411 -n 031203030C30 --listen 2>&1 /dev/null
2018.03.03 12:48:06 1: EQ3BT (KU) - listen Debug, listen: listen
2018.03.03 12:48:06 1: EQ3BT (KU): timeout 10 gatttool -i hci0 -b 00:1A:22:09:0F:34 --char-write-req -a 0x0411 -n 031203030C30 --listen 2>&1 /dev/null



????????????????????
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

Gasmast3r

das was ich per ssh dran habe schalten auch innerhalb weniger sec. frage was haben die log einträge zu bedeuten
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

CoolTux

Das alles super funktioniert und Du einmal einen Schaltvorgang gemacht hast  ;D

Das sind Debugmeldungen keine Fehlermeldungen an sich. Sind in der jetzt kommenden Version draußen.
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

Gasmast3r

ok das ja gut

kann man das auch abstellen oder in ein extra log schreiben ???
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

CoolTux

Ich habe ja geschrieben das diese Meldungen in der nächsten kommenden Version weg sind. Im Moment brauche ich sie noch falls doch noch ein Fehlerbild erscheint. Lass bitte einfach laufen. Heute Abend lade ich eine aktuelle ohne die Ausgaben hoch.
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

Gasmast3r

ok

habe nun auch den 2 ssh pi wieder eingerichtet bin dann ja mal gespannt
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

CoolTux

Ich bin da sehr guter Hoffnung. Bei mir ist der Thermostat trotz ssh an der maximalen Reichweitegrenze. Er braucht manchmal bis zu 7-8 Anläufe er er Daten bekommt oder einen Schaltbefehl los wird. Und dennoch wird gatttool immer sauber beendet.
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

Beim einrichten in mein System ist mir gerade aufgefallen das sich die set Namen und Readings Namen leider nicht annähernd an die der normalen Homematic Thermostate hält.
Da ich diverse Frontend Styles (Readings Group) verwende und auch Structure zum schalten, wäre es schon schön wenn man hier eine Einheitlichkeit rein bekommen würde.
Was sagen die anderen Anwender dazu?
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

Gasmast3r

wie ihr es baut, komme soweit klar steuere meine Heizung per Außentemperatur / Anwesenheit mehr nicht, mehr gibt mein Wissensstand nicht her ;)
Entschuldige das ich DOOF FRAGE aber ich habe Psychische Probleme und Leide an ADHS mit Kognitiver-Hyperaktivität.

Master_Nick

Hey klasse! Danke sehr  8) :)
Hab es direkt eingebunden bei mir. Langzeittest läuft damit direkt, da mein System dauerhaft läuft und 5 Thermostate bedient.

Bin gespannt.

Um dir eine Antwort zu geben - wahrscheinlich wäre ein Standardisierung gut, da sich dann ja automatisch eine gewisse Kompatibilität zu anderen Anwendungsfeldern/Steuerungen ergibt denke ich.

Soweit habe ich eine Zeitliche Schaltung der Heizkörper und generell eine Abhängigkeit von der Anwesenheit realisiert. Bisher ergab sich einfach keine Notwendigkeit noch Abhängigkeiten zu den in den Räumen verteilten Thermometern zu schaffen.


In welcher Regelmäßigkeit wird eigentlich der Status der Geräte erfragt? Vom Gefühl her würde ich sagen alle 10 Minuten (oder häufiger) - ist das nicht für einen reinen Standby Betrieb ohne erfolgte Schaltung sehr häufig? Es wird ja bei jeder Schaltung eh der Rückgabestring ausgewertet.
Rancher K8s Cluster mit nanoCUL (a-culfw) | IObroker | IT(V1&V3), IT-PIR, THGR122NX |Co² | alexa-fhem | WOL | NFC | Harmony UltimateHub | Anwesenheitserkennnung | Roomba | 10" Touch mit Node-Red | SonOff S20 | SonOff Touch | SonOff Dual | Rolladen | Und ganz viel anderes tolles Gerödel.... ;-)