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

Edited by piwo2
Link to comment
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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...