Posts by s3n0

    When this happens, check the oscam webinteface to see if the server is online. If its not, you have your answer.

    When the server goes offline and oscam is working its an issue with the server and not oscam.

    If you can`t access the webinterface and oscam is not running then you have found another reason why you get that error.

    When I log into my IP address on my box when I go to web interface it sometimes comes up with error can't connect 111. It is strange. On the web interface do I need. To change some settings maybe I don't know

    Hi.


    Which web interface (Webif) exactly do you mean ?


    You mean Webif for Oscam (abbreviated OscamWebif) or Webif for Enigma2 (OpenWebif plugin) ?

    Hi.


    Surely you didn't forget the volume of your display unit ? It can be an LCD monitor for a PC with additional speakers... or the TV receiver itself... etc. .

    Or there could also be a fault in the automatic volume control, in the case of modern TVs, because some also allow automatic control. And then if the HDMI audio input is however loud, the chipset algorithm in the TV tries to regulate the volume in the TV... so then you have to use the RCU intended for the TV and not for the set-top box. Try checking the audio functions in your SmartTV / LCD monitor / etc. . Maybe there is a problem right there.

    I don't know if this will help to create a screenshot in 4K/UHD resolution. The problem may be at the hardware+software system level. Apparently there is no suitable system tool to get 4K/UHD screenshot from new chipsets (from VideoRAM).


    Or maybe everything depends only on the resolution of the so-called "framebuffer" or on the resolution of the Enigma2 GUI (resolution and SKIN type). But even this would basically be an error / BUG, if it is not possible to create a 4K/UHD screenshot while watching a 4K/UHD channel, and if the maximum screenshot size is always determined only by the resolution of the used SKIN (framebuffer).

    Hi.


    You have to install an additional feed source for Softcams in your OpenATV:


    Then you can find an installer for "ciplushelper".


    Or directly download (valid date: 2023-02-26) is here:

    http://updates.mynonpublic.com/oea/4.4/mips32el/enigma2-plugin-systemplugins-ciplushelper_5.3-r0_all.ipk

    http://updates.mynonpublic.com/oea/4.4/cortexa15hf-neon-vfpv4/enigma2-plugin-systemplugins-ciplushelper_5.3-r0_all.ipk

    http://updates.mynonpublic.com/oea/4.4/sh4/enigma2-plugin-systemplugins-ciplushelper_5.3-r0_all.ipk

    Oh yeah... sorry... I noticed that it is necessary to make another import... in the next file... especially for Python3 and Python2 importing methods.


    It could all be solved if these primitive small classes were simply included in the same file. There is no reason for them to be divided like this if it is a very primitive and very small Class.


    I repeat again that the plugin source code is written very chaotically, outdated and without using standard Python "coding" style. Classes are used completely meaninglessly. Data types like bytes + string + utf-8 (Unicode) are mixed together. I don't know when I should use the "str().decode" method and when a simple conversion to string is sufficient (for example with the str() function or with some string method).


    I recommend contacting the author to write the plugin source code again, not so messy... and... with support for Python3.


    I tried to run it on my Python3 in my set-top box.


    But... unfortunately, I found that it is necessary to literally rewrite a large amount of source code. And I will not do this. Sorry.


    I just wanted to make the code from PY2 to PY3 work. But this is not possible when the source code is written incredibly complex (chaotic). It simply looks as if the programmer of the flood code did not take into account a huge number of things - for example, not taking into account the types of different strings (also applies in Python2 and not only in Python3) or, for example, using iterated objects instead of OOP style (this makes the code unreadable and in that only his author is a flood).


    There is also a lot of completely unnecessary things, such as raising error exceptions or testing completely useless conditions (non-existent file), as Enigma2, but also the Python code itself, manage to report these errors very well... and much better than the algorithm itself, which written by the author of this code. The error message "file not found!" it's completely useless. Because I dont know discovery anything from this basic error message. However, if there was no testing for this specific error in the plugin source code, then Enigma2 would have announced the exact cause of the error + the file-path that the problem concerns + stepping up inherited / parent classes and methods.


    Sorry mate.


    I'm done here. I don't have the nerve for this :-/.


    As I already wrote, I wanted to "convert" the code from PY2 to PY3, but with such chaos, it will not be possible to do it. Only if I sat behind it for several days, only then would I do it.


    Ideally, the original author will write the entire code of the plugin from the beginning and even. However, this can only be done by the person who knows how the plugin algorithm should work properly and what it should actually do as a result :). However, I don't know what the algorithm is supposed to do. I don't even know what this plugin is for in general.

    It will probably be necessary to modify the import method. If we import from our own local directory... so... then instead of:

    from OpenPanel import OpenPanel

    from e2Plugins import e2Plugins

    ...it is necessary to use a dot... so... we will use the following module path (with a dot):

    from .OpenPanel import OpenPanel

    from .e2Plugins import e2Plugins


    Importing from the Enigma2/Python path remains the same (so importing Components and the like remains the same). Only the import from the own directory changes, the same one that also contains the basic plugin.py file.


    The aforementioned modification of the import must be done in the "plugin.py" file.

    Hi.


    Shouldn't "cfg - Zoom" be written together... i.e. as the "cfg-Zoom" ?


    And also starting / stopping the Enigma2, in my opinion, is cleaner with the command "init 4" and then after installation, start again with the command "init 3".


    Or... for stop and start the Enigma2, without "init.d" the following way is more better:

    Code
    #### Enigma2 start:
    [ -d /etc/dpkg ] && systemctl start enigma2 || init 3
    
    #### Enigma2 stop:
    [ -d /etc/dpkg ] && systemctl stop enigma2 || init 4

    OK, so I ran it through the converter and through the Python interpreter in Windows. It should now be complete.


    Also, what I didn't notice, there were errors with the <> comparison operator, which has not been used for a long time. I don't understand why the <> operator is there for the comparison. Namely, the != operator has been used instead in Python for a long time. The sign "is less than or greater than..." is considered an arithmetic (numeric) comparison operator. It is not a logical operator. However != represents a logical comparison and the meaning is "not equal to...". This logical operator != can be applied to numeric values as well as to other data types.


    Try this... and it should work... well... just as the basis of the plugin code you sent. It's probably not a complete plugin, is it ? But it should finally work (both in PY2 and PY3).


    See attachment - V3 archive.

    You should contact the original author to rework it from PY2 to PY3... ideally to support both PY2 and PY3 at the same time.


    By the way, you don't have to redo the IPK and reinstall the plugin every time. It is enough if you copy this .py file to the appropriate folder "\usr\lib\enigma2\python\Plugins\Extensions\OpenPanel\" and then just restart enigma2, for example vie the linux shell: init 4; sleep 5; init 3


    Try this:

    I fixed the indentation you mention again. However, I also see other, probably incorrect, code indents there. Just as bad, this indentation was also in the original code (from you).


    For example, in the file "\usr\lib\enigma2\python\Plugins\Extensions\OpenPanel\OpenPanel.py", from line 155, "spaces" are used instead of "tab" indentation, or even a combination of both. However, this is not allowed. There is also a certain block of code, which seems to be incorrectly indented - that is, it does not make a completely clear sense. "If" is used several times in a row, with the same or similar testing of a condition, so I don't understand at all who wrote this senseless code in PY2. Then it can't be fixed so easily if I don't know how it should be properly embedded in the code ... that is, how that block of the algorithm should work correctly.


    You must supply me FUNCTIONAL python code and not corrupted. I can then convert it from PY2 to PY3.


    I wanted to convert the source code from PY2 to PY3. I don't want to fix some sloppy and poorly written code in PY2. Using "spaces" and "tab" characters for indentation... both types at the same time in the same .py file... is a fundamental mistake.


    Try the last attached attachment. But I'm getting really bored now... fixing indentation in python source code !

    OK, try the following archive from the attachment.

    I don't know if it will work. Please try it in some PY3 based Enigma2 distribution.


    ///// EDIT :


    So what ? Does it work ? Does not work ? Any bug reports ?


    Or... you can write me via Skype. If you have this Skype acc, of course... because for a long time I refuse to use ever new and new communication clients, ha ha, which are often called "social network" when it is not a social network at all.

    There is a lot of .py or .pyo code. I looked at it earlier. And I saw a lot of files there. That's why I didn't want to convert it to PY3 compatibility.


    Would it be enough to translate to PY3 support only what you attached as a .bz2 archive ?

    Hi guys.


    Conversion from PY2 to PY3 for the Enigma2 environment is very simple.


    The problem is that there are an awful lot of files. The plugin is assembled from a "million" parts, and each file needs to be opened individually and check its functionality (run the PY3 code).


    There are also conversion applications that convert the code from PY2 to PY3, but they are universal. This means that there will not be added many necessary things that apply in the case of Enigma2 set-top boxes. If it were only one single Python file, or 3-5 files, I can do it. But since there are a lot of files, it is difficult to convert them and test them at the same time. And without testing, I don't want to transfer it from PY2 to PY3... there must be 100% certainty in functionality.


    First of all, the most common problem is, for example, using print as a function and not as a built-in command of the Python interpreter. In the new PY3, print is used as a function. So the syntax changed to the necessary parentheses:

    print("hello world")


    As for backward compatibility with PY2 with the print function, it is necessary to make this import (I don't know from which version of PY2 specifically, this was added):

    from __future__ import print_function

    But this is not always necessary.


    The second common problem I see when converting from PY2 to PY3 on the Enigma2 platform is incorrect syntax of the "try" command. When using exceptions:

    except Exception as err:

    instead of the original

    except Exception, err:


    Another frequent problem is string data type, because in PY2 and PY3 there are some differences ( https://portingguide.readthedocs.io/en/latest/strings.html ). For example:


    PY2 console:

    Code
    >>> s = u"test"
    >>> type(s)
    <type 'unicode'>

    PY3 console:

    Code
    >>> s = u"test"
    >>> type(s)
    <class 'str'>


    Another common problem is the urllib2 module in PY2, which no longer exists in PY3 (it was replaced / merged with other modules into one). Usually (not always) a simple replacement of it + renaming the imported module in PY3 will help, like this:

    Code
    import sys
    if sys.version_info.major == 3:      # sys.version_info(major=3, minor=10, micro=1, releaselevel='final', serial=0)
        import urllib.request as urllib2
    else:
        import urllib2


    And of course a few other details have also changed (I don't remember exactly, but when I refactor the code, I would remember, haha). For example, a different style is now used in PY3 to access the dictionary data type when using keys, in some specific cases (this is to make accessing the dictionary data type clearer and cleaner).

    I believe Openpli 8.3 is the last image on py2 but someone else may be able to help try to install it and see what happens

    Hi.


    Yes... exactly so. OpenPLi 8.3 is the last to use PY2. From now on, only PY3 will be used. It is for this reason that PY2 has officially stopped further development. There is only PY3. So only PY3 will always be updated/up-to-date.


    Source:

    Quote from https://wiki.openpli.org/Releases

    We are exited to announce the release of OpenPLi 8.3 As this is a minor release updating will suffice. This is the last version that is compiled using Python 2, we will officially retire Python version 2, and switch to Python version 3 for next releases.


    With this release there is new stuff and of course many improvements and it is now available for download at OpenPLi. So come and follow the link below and have a look at the release notes of OpenPLi 8.3 to see what has changed

    where in var can i find softcam fail on open atv.

    Hi.


    I don't exactly understand your question.


    If you mean decoding and error checking during Oscam itself, you can find it in Oscam-Webif ---> Live Log.


    If you mean problems with running Oscam under a Linux set-top box, it is best to solve it via a terminal connection (PuTTY application for example), via SSH and Telnet protocols. For example, you can try to run the oscam binary manually... and see what the system says as an error:


    /usr/bin/oscam -V (version / build info)


    Or directly start the Oscam in the terminal:

    /usr/bin/oscam -r 2

    Hi.


    I don't know if Python 3 is used for OpenPLi 8.3.


    Well, if so, then in Python 3, PRINT is a function, not a so-called command. This function needs an input parameter in parentheses:

    print("hello world")


    I also don't know from what source, OpenPLi uses this Multiboot plugin, because there are several sources.


    Probably from the OE Alliance Group github source ?

    - https://github.com/oe-alliance/openmultibootmanager/tree/main/src

    - https://github.com/OpenPLi/openpli-oe-core/blob/cd3413524474c7ab7b326f783c767f88c688a856/meta-openpli/recipes-openpli/openmultiboot/openmultiboot.bb


    Or probably from Dima73 github source ?

    - https://github.com/Dima73/pli-openmultibootmanager/tree/master/src

    - https://github.com/OpenPLi/openpli-oe-core/blob/8229dd2a86105e9d640d49ce546687d5a9394401/meta-openpli/recipes-openpli/openmultiboot/enigma2-plugin-extensions-openmultiboot.bb


    BTW, it would be appropriate to report this BUG directly to the OpenPLi forum and not here ;).



    //////////// EDIT :


    - https://github.com/Dima73/pli-openmultibootmanager/blob/2cad7d11f30e930636bb28cb050f098ac9ab1352/src/open-multiboot-branding-helper.py#L82


    So... it looks that PLi uses the OpenMultibootManager plugin, from the Dima73 github source. So... I have sent a request for the syntax error correction.