Jump to content

André K.

Members
  • Gesamte Inhalte

    62
  • Benutzer seit

  • Letzter Besuch

Alle erstellten Inhalte von André K.

  1. Guter Punkt, danke. In meinem Enumerate-Callback ist im Prinzip nur ein großer switch() drin, der sämtliche Callbacks und Initialisierungen einrichtet, und nur für den Master einen Eintrag ins Event-Log schreibt. Außerdem beginnt er folgendermaßen: if(enume_type == IPCON_ENUMERATION_TYPE_AVAILABLE) switch (did) Das heißt, ich bekomme die anderen Types gar nicht mit. Ich baue da mal einen else-Zweig rein der zu einem weiteren Event-Log-Eintrag führt um ein Gefühl dafür zu bekommen was da ggf. ankommt. André
  2. The story continues 😅 Gestern Abend hat sich auch das neue Temperatur-Bricklet verabschiedet, nach 35 Tagen störungsfreiem Betrieb. Immerhin nicht mit einem falschen Wert, sondern es hat einfach aufgehört den Callback auszulösen. Wiederbelebung per Brick Viewer war Gott sei Dank wieder möglich. Jetzt bin ich mit meinem Latein so langsam am Ende oder hat jemand von euch noch einen Ansatz? André
  3. So, mal wieder eine kleine Rückmeldung meinerseits Die drei neuen Bricklets für Temperatur, Luftdruck und Luftfeuchte sind seit etwas mehr als anderthalb Wochen montiert und seitdem läuft es absolut störungsfrei, yay! Das "alte" Temp-Bricklet habe ich ins Gehäuse rein gesetzt um die interne Temperatur loggen zu können, wie vermutet funktioniert auch das, aber jetzt ist natürlich auch ein erheblich kürzeres Kabel im Spiel. Wenn ihr mal schauen wollt: http://www.koethur.de/wetter/ Und nicht wundern, die "Live-Aktualisierung" stoppt nach 30s, das ist noch Absicht … André
  4. OK ich verstehe, also lag ich mit meiner Vermutung gar nicht so falsch. Im Grunde brauche ich die Voltage gar nicht, ich "zweckentfremde" das bloß um an einen festen 60-Sekunden-Timer zu kommen: /* Callback für Diagnosefunktion: 60s */ master_register_callback(br_master, MASTER_CALLBACK_STACK_VOLTAGE_REACHED, (void (*)(void))cb_master_diag, NULL); master_set_stack_voltage_callback_threshold(br_master, MASTER_THRESHOLD_OPTION_INSIDE, 0, 65535); master_set_debounce_period(br_master, 60000); In cb_master_diag() frage ich dann lediglich die interne Temperatur ab, um die etwas im Auge zu behalten. Leider gibt es dafür ja keinen direkten Callback. Edit: Interessant wäre ja eigentlich der Stromverbrauch, aber ich meine ich hätte das mal ganz zu Anfang getestet und immer 0 erhalten, trotz Ethernet-Extension mit PoE, also kein USB. Auch im Brick-Viewer wird immer 0 angezeigt.
  5. Kommt ja sicherlich noch. Und C ist halt meiner Ansicht nach eh am Wichtigsten, das ist da wo die Musik spielt xD André
  6. Die spannende Frage für mich ist jetzt: Wie lang ist denn bei Dir "zu kurz"? Bei mir sind es 50cm … André
  7. Uwe, rtrbt bzw. Erik hat doch die C/C++-Bindings hier im Thread verlinkt, ganz unten auf der vorigen Seite. Die verwende ich, und da ist die Funktion drin. Und BTW, weitere Anregung: Daß ihr den gleitenden Mittelwert in die Firmware von Barometer 2.0 und Hygrometer 2.0 eingebaut habt ist super! Allerdings liefern diese Bricklets ja auch so schon recht stabile Werte … wo das aber echt noch fehlt, ist beim Ambient Light 3.0 — denn egal was ich einstelle, bei Sonne hüpfen die Lux-Werte dermaßen rauf und runter daß ich geneigt bin ab 1000 lx das ganze umspringen zu lassen auf Anzeige in "Kilo-Lux" (falls es das überhaupt gibt ;)) und maximal einer Nachkommastelle. André
  8. Anregung/Verbesserungsvorschlag: Kann man die Berechnung des normalisierten Luftdrucks (also QFF) nicht auch in die Firmware gießen, so daß man dann bloß noch die Höhe bei der Initialisierung übergeben braucht bzw. im EEPROM ablegt? Alternativ wäre natürlich ein kombinierter Callback mit Druck und Temperatur cool. Weil so wie es jetzt ist, lässt es sich eigentlich nicht elegant lösen. Entweder, ich benutze den getter für die Temperatur innerhalb des Druck-Callbacks (unschön, wenn man sonst ohne getter auskommt), oder ich definiere eine globale Variable die von einem separaten Temperatur-Callback gefüllt wird (auch unschön) … Ich glaube ich mache es ermal mit dem getter. Globale Variable ist mehr bäh als ein sekündlicher getter. André
  9. Ich schon wieder Ich sitze hier gerade und bin dabei, meinen Gateway-Daemon auf die neuen Sensoren für Luftdruck etc. umzubauen. Meine Testumgebung: Macbook USB zum Master 2.1 und daran die drei Bricklets (Temp, Druck, Hygro alle V2) Ich hab in dem Programm ein Callback MASTER_CALLBACK_STACK_VOLTAGE_REACHED eingebaut um ein paar Statuswerte abzufragen, dieser wird aber hier in der Testumgebung gar nicht aufgerufen. Warum? Liegt es daran daß ich per USB (und nicht per Ethernet-Extension) dran gehe, oder daran daß es eigentlich gar kein Stapel ist mit nur einem Master? Bin etwas verwirrt.
  10. Die neuen Sensoren sind übrigens unterdessen angekommen, habe mir auch einen weiteren Master gegönnt um hier eine Test- und Entwicklungsumgebung zu haben. Aber als ob die beiden Bricklets es mitbekommen hätten daß sie angezählt sind und es ihnen an den Kragen gehen soll, verhalten sie sich seit Tagen völlig normal 😅 André
  11. Alles klar, vielen Dank. Habe gerade eben nochmal das 2.0-Komplettpaket (Temp, Baro, Humidity) geordert … Kann ich das alte Temp-Bricklet mit einem kurzen Kabel wohl "gefahrlos" an dem einen freien Port am 2. Master anschließen, um die Temperatur innerhalb des Gehäuses zu messen? So hätte es wenigstens noch eine Daseinsberechtigung 😅 André
  12. Ganz so kann man das nicht sagen. Sowohl Temperature- als auch Barometer-Bricklet hauen sporadisch mal nur einen einzelnen falschen Wert raus, zum Beispiel gestern Abend einfach mal zwischen drin -1°C, hier gut an der Min/Max Auswertung zu sehen: Temperature 8.21858 7.87 8.68 2020-05-06 22:00:00 Temperature 9.21769 8.68 9.75 2020-05-06 21:30:00 Temperature 10.2747 -1 10.87 2020-05-06 21:00:00 Temperature 11.5355 10.81 12.31 2020-05-06 20:30:00 Temperature 12.8846 12.31 13.5 2020-05-06 20:00:00 Auch das Barometer macht das: Pressure 978.992 978.792 979.112 2020-05-06 00:00:00 Pressure 978.699 978.598 978.835 2020-05-05 23:30:00 Pressure 977.98 10 978.658 2020-05-05 23:00:00 Pressure 978.07 977.916 978.462 2020-05-05 22:30:00 Pressure 977.916 977.865 977.949 2020-05-05 22:00:00 Dabei geht dann aber nicht gleich der ganze Bus "kaputt". Ich habe mir heute morgen auch schon sowas ähnliches gedacht als dann (hoffentlich) endgültige Lösung. Und vielen Dank, aber ich bestelle die dann einfach via Shop, auf die paar Euro kommt es echt nicht mehr an 😅 der größere Hemmschuh ist meine Motivation, nochmal aufs Dach zu kraxeln und in 10 Meter Höhe an dem Kasten herum zu schrauben. Aber wenn's hilft, ist das ein kleiner Preis Ich würde dann folgendes tauschen: Barometer gegen Barometer 2.0, Temperature gegen Temperature 2.0 Die Arbeitsweise vom Humidity mit dem Analogwert gefällt mir eigentlich sehr gut, erinnert mich an die gute alte Conrad-Telemetrie-Wetterstation die an dieser Stelle ja 24 Jahre lang zuverlässigst gearbeitet hat. Oder würdest Du empfehlen da auch auf Humidity 2.0 zu gehen? André
  13. Leider ist es heute morgen wieder aufgetreten, sogar zwei mal ganz kurz hintereinander. Mittlerweile bin ich natürlich auch etwas paranoid und schaue gefühlt alle 30 Sekunden drauf 😅 Ich habe den Verlauf mal isoliert, Fall 1 von 6:38 Uhr: 428482 2020-05-07 06:38:26 Temperature 331 428485 2020-05-07 06:38:27 Pressure 980778 428486 2020-05-07 06:38:27 Temperature 337 428489 2020-05-07 06:38:28 Pressure 980788 428493 2020-05-07 06:38:29 Pressure 980785 428496 2020-05-07 06:38:30 Pressure 980808 428499 2020-05-07 06:38:31 Pressure 980790 428503 2020-05-07 06:38:32 Pressure 980773 428506 2020-05-07 06:38:33 Temperature -3843 428507 2020-05-07 06:38:33 Pressure 10000 428819 2020-05-07 06:40:39 Temperature 0 428822 2020-05-07 06:40:40 Temperature -3843 429029 2020-05-07 06:41:59 Temperature -8387 429032 2020-05-07 06:42:00 Temperature -3843 430148 2020-05-07 06:47:48 Temperature -8387 430151 2020-05-07 06:47:49 Temperature -3843 430176 2020-05-07 06:48:01 Pressure 980942 430194 2020-05-07 06:48:01 Temperature 418 430198 2020-05-07 06:48:02 Pressure 980901 430207 2020-05-07 06:48:03 Pressure 980907 430210 2020-05-07 06:48:04 Pressure 980926 Um 6:48 habe ich dann manuell via Brick-Viewer resettet. Dann ist es eine Minute später gleich wieder passiert: 430487 2020-05-07 06:49:03 Pressure 980906 430494 2020-05-07 06:49:04 Pressure 980910 430500 2020-05-07 06:49:05 Pressure 980926 430504 2020-05-07 06:49:06 Pressure 980902 430507 2020-05-07 06:49:07 Pressure 980906 430508 2020-05-07 06:49:07 Temperature -3843 430512 2020-05-07 06:49:08 Pressure 10000 430604 2020-05-07 06:49:31 Temperature -8387 430613 2020-05-07 06:49:32 Temperature -3843 430765 2020-05-07 06:50:09 Temperature -8387 430769 2020-05-07 06:50:10 Temperature -3843 430789 2020-05-07 06:50:17 Temperature -8387 430794 2020-05-07 06:50:18 Temperature -3843 431211 2020-05-07 06:52:28 Pressure 980906 431212 2020-05-07 06:52:28 Temperature 475 431216 2020-05-07 06:52:29 Pressure 980897 431220 2020-05-07 06:52:30 Pressure 980882 Besteht denn ein Unterschied zwischen der "Spezial-Firmware" von letzter Woche und der neuen "offiziellen" FW in Kombination mit dem langsamen Modus? Edit: Die Temperatur ist die vom Temperature-Bricklet, die vom Barometer beachte ich in der Erfassung gar nicht Edit 2: Ich bin ja echt froh daß "nur" diese beiden Bricklets davon betroffen sind. Aber gibt es dafür eigentlich eine schlüssige Erklärung? An demselben Master hängen ja noch Humidity und Ambient Light 3.0. André
  14. Puh okay, erstmal Asche auf mein Haupt 😅 Wie ich gerade bemerkt habe, hat systemd gestern gar nicht die neue Version des Binarys verwendet, sondern noch die vorige Version. Ist mir leider erst jetzt aufgefallen, weil systemd die komplette Ausgabe von stdout immer erst beim Beenden ins Log schreibt (warum eigentlich erst dann?). Ich lasse mir jetzt beim Start direkt eine Info mit der Version ins Syslog schreiben und kann daher sagen, daß nun wirklich die richtige Version läuft 🙈 André
  15. Kommando leider zurück: Jetzt ist obendrein die -83,87° wieder aufgetreten 😕 *seufz* Ich wollte eigentlich morgen die komplette Einbindung in die Website vornehmen und ich hatte so ein gutes Gefühl … 😩 So ist der Aufruf doch richtig: /* Langsame Busgeschwindigkeit: */ barometer_set_i2c_mode(bl_baro, BAROMETER_I2C_MODE_SLOW);
  16. So, heute erst dazu gekommen, aber das FW-Update ist drin und mein Meteodat-Daemon ist nun gegen die neueste Version der Bindings gelinkt und führt auch die Initialisierung durch. Ich bin gespannt und beobachte das in den nächsten Tagen André
  17. Sehr cool, das heißt, das FW-Update müsste normal im Brick Viewer erscheinen und kann einfach drüber gebügelt werden? Ich benutze ganz klassisch die C/C++-Bindings André
  18. Mal eine kleine Rückmeldung meinerseits … Seitdem ich den langsamen Modus für das Temp-Bricklet drin habe und die Spezial-Firmware im Barometer-Bricklet sind jetzt keine Probleme mehr aufgetreten. Ich werde weiter beobachten und bin aber erstmal vorsichtig optimistisch André
  19. So, neue Firmware ist geflasht. Ist das korrekt daß die Versionsnummer dieselbe geblieben ist? Temperatur ist auch den ganzen Tag über unauffällig geblieben — so langsam nähern wir uns einem Zustand, daß ich die Daten ruhigen Gewissens wieder in meine Homepage einblenden kann. Und an der Stelle mal schon mal danke und Hut Ab für das durchdachte Gesamtdesign. Daß ich von hier aus per VPN die FW flashen kann und nicht mit nem Notebook auf dem Dach rumkraxeln muß ist schon cool. 😎 André
  20. Vielen Dank! Sobald ich daheim bin teste ich das. Ich habe bisher noch nie manuell eine neue FW eingespielt, das geht aber hoffentlich auch einfach durch die Ethernet-Extension (und ein VPN) hindurch via Brick-Viewer, oder? André
  21. Ich gebe auch mal nen kurzen Zwischenbericht: zum ersten Mal ist es über Nacht stabil durchgelaufen, was das angeht bin ich vorsichtig optimistisch ;) Aber: hab im Barometer-Log schon wieder einen Ausreißer nach unten gesehen … wie befürchtet ist also nicht nur das Temperature-Bricklet betroffen. Immerhin ist bisher kein reset notwendig gewesen. André
  22. Ah, gut zu wissen! Ich baue das gleich heute Nachmittag noch in meinen Gateway-Daemon ein und werde berichten. Drei Fragen noch, für mich (und sicher auch einige andere) zum Verständnis: Wirkt sich das auch negativ auf die Geschwindigkeit anderer Bricklets aus? Das schnellste was ich eingerichtet habe sind 200ms Callback für das IO16. Muß ich damit rechnen, daß das Flag durch einen Connect vom Brick-Viewer zurückgesetzt wird, oder durch einen Aufruf des Temperatur-Tabs? Ergänzt ihr das mit der reduzierten Geschwindigkeit auch noch beim Barometer Bricklet, wenn es für die Temperatur hilft und ich lieb darum bitte? André
  23. Ich bin bei meiner Suche auch schon über den Tipp gestolpert, aber bringt der mir überhaupt was wenn ich ausschließlich mit Callbacks arbeite (und nicht mit get_temperature())? (Ich ärgere mich gerade, daß ich nicht einfach zwei neue Bricklets der aktuellen Generation gekauft habe. Die alten lagen seit 2014 hier rum, da hatte ich das Projekt schon mal durchziehen wollen aber wie das im Leben so ist, manchmal kommt was dazwischen. Deshalb lagen die so lange im Karton herum.)
  24. Hallo Uwe, nochmals danke! Also mit ein bis zwei mal im Jahr könnte ich leben … tatsächlich ist es jetzt über Nacht wieder zwei mal aufgetreten, nachdem es davor den ganzen Tag über stabil war. Ein mal um kurz nach 23 Uhr, da hab ich es zufällig bemerkt und gleich reagiert, und dann wieder um 5:23 Uhr. Und das Barometer ist auch zwischendurch mal in der Form betroffen daß nur ein einzelner Ausreißer kommt und danach dann wieder normale Werte, wie ich gerade an meiner min/max Auswertung sehe — *seufz* André
  25. Hallo Uwe, danke für die Rückmeldung! Das passt, bei mir ist es auch das "alte" Temp-Bricklet. Hast Du das Barometer-Bricklet ebenfalls im Einsatz? Und wie oft ist bei Dir "ganz, ganz, ganz, sporadisch"? Ich werde mal weiter beobachten und mir auch mal einen cron-Job einrichten der mich benachrichtigt bei zu hohen Sprüngen der Temperatur … André
×
×
  • Neu erstellen...