Jump to content

MASTER_CALLBACK_STACK_VOLTAGE_REACHED funktioniert nicht mehr, warum?


Recommended Posts

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.

Link zu diesem Kommentar
Share on other sites

Das Problem ist, dass du den Strom per USB einspeist. Die Stack-Voltage ist die Spannung, die über den Strom-Stecker des Stapels ankommt.

Wenn du dein Programm testen willst, musst du also auch wenn du per USB an den Master gehst, zumindest den Strom über PoE oder eine Step-Down-Power-Supply einspeisen.

Es gibt auch noch get_usb_voltage und zugehörige Callbacks, die funktionieren aber mit dem Master 2.1 nicht mehr.

Link zu diesem Kommentar
Share on other sites

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.

bearbeitet von André K.
Link zu diesem Kommentar
Share on other sites

6 hours ago, André K. said:

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.

Da muss ich meine Aussage von oben korrigieren: get_stack_voltage/current misst _nur_ Spannung/Strom an der Eingangsbuchse einer Step Down Power Supply. Das bringt dich mit PoE also nicht weiter. Das muss ich in der Doku mal ausbessern, steht jetzt auf der TODO-Liste.

Warum bei dir das Callback nicht auslöst kann ich dir jetzt nicht sagen. Du kannst aber stattdessen irgendein Callback der neueren Bricklets benutzen, da kannst du explizit "value_has_to_change" auf false setzen.

Link zu diesem Kommentar
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...