Hi,
alte männer soll man nicht Löten lassen!
Ich hab den Pegelwandler 180 Grad gedreht verwendet - damit passte natürlich nichts mehr.
Kein Wunder das nichts ging - und ein wunder das es noch geht.
Jetzt läuft alles wie es soll. Die IAQ2000-Library hatte noch einen Bug - den ich aber korrigiert habe. Das commit ist auf Github und vermutlich morgen bestätigt.
Hier mein Link: https://github.com/thorsten-gehrig/i2cdevlib
Jetzt muss ich meinen Code noch verschöndern - und vermutlich alles nochmal sauber aufbauen (derzeit sieht das "übel" aus).
Gruß
Thorsten (ich muss zum Optiker mir ne Lesebrille besorgen)
Nachtrag: noch ein BUG oder Programmierfehler?
Wenn ich mir die Werte Seriell ausgeben lasse sieht alles gut aus - aber auf dem Bus kommen falsche werte :-(
Laut Doku sind Pred und Tvoc ja beides uint16.
Wie geschrieben werden mir seriell gültige Werte ausgegeben.
Auf dem HS habe ich 16 Bit / EIS10 (0-65535) angegeben... die Werte sind aber nicht die selben...
Hier ein eibd:
2015-11-17 21:13:52.326,A_GroupValue_Write,1.1.77,7/0/202,1E 27,,,,0,low,6,T_DATA_XXX_REQ,0
2015-11-17 21:14:22.343,A_GroupValue_Write,1.1.77,7/0/202,1E 1B,,,,0,low,6,T_DATA_XXX_REQ,0
Ich vermute mal "knx.groupWrite2ByteInt" passt nicht? Ist ja meine Lib - aber ich habe schon lange nicht mehr drann geschraubt. Eigentlich ist "2 byte Int (DTP 7 - 0…65 535])" und DTP8 (-32768 bis +32768) == EIS10.... arg.
Ein simples "knx.groupWrite2ByteInt(KNX_WRITE_GROUPADRESS_ CO2, 450);" zeit mir am Homeserver aber keine 450 an....
Gruß
Thorsten
alte männer soll man nicht Löten lassen!
Ich hab den Pegelwandler 180 Grad gedreht verwendet - damit passte natürlich nichts mehr.
Kein Wunder das nichts ging - und ein wunder das es noch geht.
Jetzt läuft alles wie es soll. Die IAQ2000-Library hatte noch einen Bug - den ich aber korrigiert habe. Das commit ist auf Github und vermutlich morgen bestätigt.
Hier mein Link: https://github.com/thorsten-gehrig/i2cdevlib
Jetzt muss ich meinen Code noch verschöndern - und vermutlich alles nochmal sauber aufbauen (derzeit sieht das "übel" aus).
Gruß
Thorsten (ich muss zum Optiker mir ne Lesebrille besorgen)
Nachtrag: noch ein BUG oder Programmierfehler?
Wenn ich mir die Werte Seriell ausgeben lasse sieht alles gut aus - aber auf dem Bus kommen falsche werte :-(
Code:
uint16_t airQuality; airQuality = iaq.getIaqpred(); result = knx.groupWrite2ByteInt(KNX_WRITE_GROUPADRESS_CO2, airQuality); Serial.print("CO2 = "); Serial.print(airQuality);
Wie geschrieben werden mir seriell gültige Werte ausgegeben.
Auf dem HS habe ich 16 Bit / EIS10 (0-65535) angegeben... die Werte sind aber nicht die selben...
Hier ein eibd:
2015-11-17 21:13:52.326,A_GroupValue_Write,1.1.77,7/0/202,1E 27,,,,0,low,6,T_DATA_XXX_REQ,0
2015-11-17 21:14:22.343,A_GroupValue_Write,1.1.77,7/0/202,1E 1B,,,,0,low,6,T_DATA_XXX_REQ,0
Ich vermute mal "knx.groupWrite2ByteInt" passt nicht? Ist ja meine Lib - aber ich habe schon lange nicht mehr drann geschraubt. Eigentlich ist "2 byte Int (DTP 7 - 0…65 535])" und DTP8 (-32768 bis +32768) == EIS10.... arg.
Ein simples "knx.groupWrite2ByteInt(KNX_WRITE_GROUPADRESS_ CO2, 450);" zeit mir am Homeserver aber keine 450 an....
Gruß
Thorsten
Kommentar