Jump to content

python dynamischer import & bridgedaemon wieder einmal ...


piwo2

Recommended Posts

... nur weil ichs wieder einmal dynamisch arbeite und den leidigen vollständigen import von allen tinkerforge-modulen nicht wirklich mehr will :
--- statt statisch in main.py als "required header":

from tinkerforge.bricklet_temperature import BrickletTemperature

--- dynamisch, d.h. vor verwendung nach bedarf :


# load with str
from importlib import import_module
mod = import_module("tinkerforge.bricklet_temperature")
cls = getattr(mod,"BrickletTemperature")

---

print(' \n'.join([ v for v in vars(cls).keys() if v.lower()==v and not v[0]=="_" ]))
get_temperature
set_temperature_callback_period
get_temperature_callback_period
set_temperature_callback_threshold
get_temperature_callback_threshold
set_debounce_period
get_debounce_period
set_i2c_mode
get_i2c_mode
get_identity
register_callback

---

sonstige verdächtige zur praktischen nutzung nich nur beim enumerate() ...

cls.DEVICE_IDENTIFIER
cls.DEVICE_DISPLAY_NAME

---

obj = cls(ipconn,uid)
...

---

btw. wann kommt endlich ein python3.11 brickd der auf generatorbasis (aka "async") läuft, damit der moloch endlich taskfrei und sauber neu geschfieben wird ? ;-)
so schöne sachen gibts auch neu dazu : dataclasses, ....  - hm ? ... und bitte mal endlich die callbackhölle verlassen können, es gibt elaboriertere dinge für eventbasierte saubere läsungen als eie queue und aus den fugen krachenden code da drumherum, der sie notdürftig zusammenflickt ...
ab und zu träume ich von einem wunderbaren dict() aus weakrefs das von einem automaischen enumerate und auto-reconnects im hintergrund gepflegt wird, aus dem man sich dann das rausholt, was man braucht....

auf den brick-devices kann ja von mir aus laufen, was will, aber in der grossen weiten welt des pythonischen ... wär mal eine grundlegende renovierung from scratch eine echt geniale sache ...
was bleibt is ein moloch, den ich schon von den verschiedensten seiten her versucht habe, eleganter zu verwenden.
was halt bleibt sind die harten fakten einer api, die wie ein stein im magen liegt und eben unverdaulich ist ...
die offenischtliche openhab-tragödie spricht ja auch bände, wie hart der stein wohl ist ...

keine sorge, bin schon wieder still
für die paar automationssachen ist polling mit grossen zyklenzeiten durchaus ausreichend
und fürs autoladen auch. wer braucht schon eine gute api .................. ;-)

lg

bearbeitet von piwo2
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...