speziell wenn man die Funktionen explizit angibt!
Na ja, das kann man (?) auch, wenn man GP_Utils verwendet. Das sollte übrigens afai remember auch "maulen", wenn eine erwünschte Funktion nicht verfügbar ist. Das bringt mich aber auf ein anderes Problem mit GP_Utils: Man weiß nie so richtig, WARUM eine Funktion in main verfügbar ist - es könnte auch "irgendwas" sein, das "irgendjemand" (aus welchem Grund auch immer "zufällig" (schon!) in den main-Kontext importiert hat => anderes System, andere Reigenfolge, ggf. bestimmte nicht verwendete Module => beim Kunden stirbt das Produkt... Unschön.
Von daher würde ich das jetzt eher in die Richtung sehen, dass "sauberes" Coding klare Referenzierungen braucht.
OT: encode/decode:
Klar, wenn man was bestimmtes braucht, spricht nichts dagegen (wobei es in der Regel schlau sein dürfte, die im Kernel (fhem.pl) enthaltenen Funktionen zu nehmen, wenn sie tun was benötigt wird. Ist tendenziell weniger stressbehaftet, und es entspicht afaik den Empfehlungen von Rudi (sinngemäß: "der Maintainer muss wissen, was die Gegenstelle liefert, und das dann an allen Schnittstellen zwischen innen und außen sauber konvertieren").