Read the statement by Michael Teeuw here.
MMM-PythonPrint customisation
-
@karsten13 and I missed the latest/fat under the TAG column of your table… tldr(lol), my apologies
-
@sdetweil I have started fresh and am still having the same issue.
New install of buster, fully updated.
Installed all the MM and node successfully.
MM runs as expected.
Checked that python and python3 are both available to the OS.
Added the MMM-PythonPrint to the modules dir.[12.04.2022 11:22.45.613] [LOG] MMM-PythonPrint received a socket notification: CONFIG - Payload: [object Object] [12.04.2022 11:22.45.619] [ERROR] Whoops! There was an uncaught exception... [12.04.2022 11:22.45.640] [ERROR] ReferenceError: _this is not defined at Class.startit (/home/pi/MagicMirror/modules/MMM-PythonPrint/node_helper.js:27:24) at Class.socketNotificationReceived (/home/pi/MagicMirror/modules/MMM-PythonPrint/node_helper.js:46:9) at Socket.<anonymous> (/home/pi/MagicMirror/js/node_helper.js:109:11) at Socket.emit (node:events:390:28) at Socket.emitUntyped (/home/pi/MagicMirror/node_modules/socket.io/dist/typed-events.js:69:22) at /home/pi/MagicMirror/node_modules/socket.io/dist/socket.js:466:39 at processTicksAndRejections (node:internal/process/task_queues:78:11)This is my config section:
{ module:"MMM-PythonPrint", position:"center", disabled:false, config: { // name of the python process to execute (could be python3) pythonName: 'python', // command file in module folder // if false, YOU will provide the full path to the python program localfolder: true, // spawn a python pgm that writes over and over (timed maybe), but keeps running command: 'printit.py', repetative: true, // spawn a one time output script, but relaunch it every cycletime milliseconds // repretative: false, // command: 'printitonce.py', cycletime: 2000, // print debugging messages from the node_helper debug: true } }, -
@RobCee weird, sorry, typo… fixed
git pull to get the update
-
@sdetweil I found another, just up from that one - you have a missing ‘t’ in this line
this.config.command=this.config.command.slice(his.config.pythonName.length) -
@RobCee fixed… bad day at the finger farm…yikes sorry
-
But even with that _ removed, I am still getting an odd error:
TypeError: this.file is not a function -
@RobCee ok, fixed, tested… sorry again
git pull -
@sdetweil - apologies not necessary - I am just happy you are able to look at it.
Hurrah! It works!
-
i have also the MM os and i try to make it work
I have added - /usr/bin/python3:/usr/bin/python3 to the docker compose
and now i have the error[15.07.2022 14:23.42.599] [LOG] MMM-PythonPrint received a socket notification: CONFIG - Payload: [object Object] [15.07.2022 14:23.42.602] [LOG] PythonPrint spawning /opt/magic_mirror/modules/MMM-PythonPrint/print_test.py using python3 [15.07.2022 14:23.42.686] [LOG] PythonPrint program error=Could not find platform independent libraries <prefix> Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Fatal Python error: initfsencoding: unable to load the file system codec ModuleNotFoundError: No module named 'encodings' Current thread 0x76fb37a0 (most recent call first):a played around with adding $PYTHONHOME to env but without any result
does anyone know a work around to find the libraries? -
@diemen112 I think this answers
https://askubuntu.com/questions/905372/could-not-find-platform-independent-libraries-prefixrunning under docker is a fun experience?
did u install python as part of the container startup?
-
@diemen112 said in MMM-PythonPrint customisation:
I have added - /usr/bin/python3:/usr/bin/python3 to the docker compose
this will not work. You have to use the
fatimage, see my post above (Apr 11) -
Thank you for the help,
I made it work with adding some python dependent directory’s to the docker-compose file -
Sam,
Thank you for this MMM-PythonPrint. More than the sample module this really helped me follow how to wrap my head around how the script.js node_helper and anything else work together. The way you worded the variables and the input and output text really made sense and made it easy to follow what is happening. I am learning a lot. Again, Thank you.
Kelly
-
@kayakbabe awesome, glad it helped!
-
@sdetweil I’m looking at the configuration variable repetative and trying to figure out what it is for.
is this correct logic for true and false?
repetative: true
if your python script runs in a loop forever by itself so the spawn in node helper will just keep its connection to the python script openrepetative: false
if your python script runs one time, and you need node_helper to keep spawning over and over so you can get the info from the python script over and over -
@kayakbabe so , maybe your python script starts and runs, prints one line, and ends. current temp is x
is that all you want your module to present, one line?
or do you want the output every few seconds minutes
this is repetative:false, but my module will rerun the script every cycle time milliseconds
but some python scripts do that internally.
print, sleep, print, sleep, print, sleep, print…
this is repetative: true
my module will just start the python scriptthere are two different ways to capture the output
should have named parm
script_is_long_running
I provided a sample of each
also, in many cases, you are using someone else’s script and don’t have control over how it works, and don’t want to rewrite it
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login