Beiträge von faraon6

    As is the programmed HDMI-CEC algorithm, it will also behave.


    The problem is that they are all incredibly lazy. I already have my own code for communicating / pairing through "LG Simplink-CEC". But publishing the code would mean a lot of insults and possibly a violation of the license rights (on the LG TV side). So I'm not going to do this.


    The same is true for other TVs with the appropriate CEC from a particular manufacturer. Create universal HDMI-CEC is stupid. The HDMI-CEC plug-in should be branded correctly for multiple TV brands. Unfortunately, it will take a long time to go. For each CEC protocol separately - specially modified CEC. TV producers ignore the standardization of HDMI 1.4 or higher. For example, Ethernet is not available on the HDMI 2.0 connectors, and the TV does not turn on / off via another HDMI device (because there are CEC rules from the device manufacturer, not the HDMI-CEC communication standard).


    The Linux box user must also be a programmer if he wants to use HDMI-CEC :).


    P.S.:
    I was a system programmer in Assembler (not Linux, not Enigma2). So I know something about this CEC.

    ssh:


    Why are you overwhelming the discussion on the forum with your mega-stupidity ?


    What do you mean by "foundations"? You mean Enigma2, right? That's only one of the components that make up such a machine. What about the Linux kernel? Or how about TuxBox? These two components are much more important I think, they are more foundational/fundamental than Enigma2. To put it differently: you can have a Linux STB that works without Enigma2, but you can't have an Enigma2 STB that works without the Linux kernel or the TuxBox component.

    I'm almost 40 years old. You will not teach me about development. There is no one curious about your hate and the ridiculous smile. I've grown up with all of this. So I have a complete history of system development (I was a system programmer). Dreambox laid the foundation. Deal with it. Like Apple or Google, they are based on unix / linux code. However, you will not claim that iPhone development was caused by the creators of unix / linux systems ? :grinning_squinting_face: Similarly, Microsoft has sometimes indicated the direction of HTML standard development or even SQL. Today it has changed fortunately. Even DirectX for 3D graphics environment is little used ... more and more OpenGL is being used. Dreambox, like Microsoft, laid the foundation. You can also stand on your hind legs, you will not change the truth. Teach pupils at school or your own kids if you already have what it is a tuxbox, not me.


    Zitat von ssh

    Seriously, English doesn't help you much in this community. It's a very small tech/sat community. English is not my first language. And neither is German. The only reason I know English in fact is because I was once exposed to computers and had to seek help, either by talking to people or reading documentation which was all in English. But try asking for help with Dreambox, or OpenATV, or Enigma2, or OpenPLi on IRC or on an English forum for Linux. You will get zero responses, or you will end up educating them about everything you know about the Dreambox, before they can begin to answer your first question. It's just the way it is. Every community has its own rules and characteristics. One characteristic about the "Dreambox community" if we can call it so, is that German language dominates in these circles. Try to get used to it, don't resist it.

    You're writing stupid fools again. I have lived in Germany for about 3 years and in England for about 7 years. So you do not tell me about such stupidity about linguistic knowledge. As for the community ... logically, the community makes only a few tens of thousands of English-speaking people in OpenATV, whereas in OpenPLi, the community of English-speaking people makes hundreds of thousands.


    You are a man without a general perspective. You do not know anything about the world. You need to write stupidity, regardless of whether they are true. OpenPLi is most popular in America too, but OpenATV is not.


    This is commonplace in open and popular discussion forums - people like you. The bigger the community mean the higher percentage of the wretched people. This forum is not active, but I'm already experienced with a lot of users like you. Let's treat psychiatry please.

    Unfortunately, the truth is that Dreambox has laid the foundations for today's set top box boxes. :frowning_face: But today there are much better and cheaper Linux set top boxes than Dreambox. And they're quality set top boxes.

    I have mixed feelings with that advice. Especially as OpenPLi has suspended Dreambox support quite a while ago.Dream is the ONLY enigma2 manufacturer that still provides a very useful and good official image. And at least with modern hardware, their images are usually much more efficient and suited for the specific device than the Open* images, which need to run on hundreds of different devices.


    This is not true at all. Dreambox does not produce the perfect Enigma2 firmware. No firmware for linux boxes is perfect. This is an open source code. However, some Enigma2 authors have finally joined a common "alliance". And that's the main thing. Then it only depends on hardware and on hardware drivers.


    The problem with DM500-HD is that it is already very old. For example, OpenATV develops firmware for Dreambox, but not for the old DM500-HD.


    I personally also use OpenATV for many years, but I think OpenPLi is better. There is better support in the English language, while OpenATV unfortunately is mainly supported in German. OpenATV has very poor support in English (few users, few topics, and few forum moderators - in the "English" thread). Also, there is no OpenATV image for DM500-HD, but OpenPLi image yes exists (at least partially).


    If Dreambox develops its own firmware, it does not mean it will be perfect :). I own Formuler F3 and the original firmware was disastrous. That's why I'm using OpenATV (I've also used OpenPLi through the OpenMultiboot plugin, but I finally decided for OpenATV - as the only one).

    So, the problem is solved.


    I did not know that there is also a Screens (GUI) with a console. I have just called the component console, not the Screens console (GUI). Example plugin source code with the Screens.Console:

    1. little search on Google - HDMI version v1.3 is supported
    2. enigma2 must keep some standards in the compatibility area and the HDMI-CEC plugin is not the exception... up to a few things, conventional plugins like HDMI-CEC will work, I think :smiling_face:
    3. unfortunately, I don't own the DM500 HD device, but if I owned it, I would definitely not use the original enigma2 firmware from Dreambox but some other enigma2, like OpenPLi: https://openpli.org/download/dreambox/DM500+HD

    Hello.
    And what about trying out the algorithm without using a "session" in your plugin ? :winking_face:
    Using the NavigationInstance.


    For example...


    ...use this:

    Python
    import NavigationInstance
    ref = NavigationInstance.instance.getCurrentlyPlayingServiceReference()


    ...instead of this:

    Python
    ref = session.nav.getCurrentlyPlayingServiceReference()

    I envy you... my options are much more limited. I have a DM500 HD. :neutral_face:

    It does not matter. The HDMI-CEC plugin must work in any Enigma as well. Restrictions can only be in the HDMI version (1.3, 1.4, 2.0, etc.) or in the HDMI software drivers. From the HDMI 1.2 version, CEC commands are fully specified.

    Hello.


    The problem is, of course, in Panasonic TV. Your TV always sends an unknown CEC command and, unfortunately, Enigma2 will understand how to switch the device to Standby. There's no reason why - it's probably due to incompatibility because Panasonic uses its own CEC protocol: HDAVI Control, EZ Sync or VIERA Link. I recommend finding advanced options for HDMI-CEC on your TV or Enigma, if you find it, so switch off in both cases the TV standby command (transmit the standby CEC command on your TV, or receive the standby command in your Enigma).


    The latest version of the HDMI-CEC plug-in for Enigma can now ignore some commands (Standby) which are incoming from other HDMI devices. This means that Enigma can send a command to switch to Standby, but will not accept it (will ignore it) after receiving it from another device. This is a function like this: "Take Standby from TV" or something similar.

    Hello.


    I'm looking for a simple sample code to use Console() in Enigma2. Unfortunately, I found nothing on GitHub servers. Although there are many examples of different algorithms, I still do not understand them. I always get some mistake. I try everything possible. Unfortunately, I still do not know exactly how Console is used in Enigma2. I can not start the enigma2 graphic display on the screen. Do not also need to use the Screen Class to invoke the console ?



    Any suggestions ?


    Thanks.


    Here is my simple example code for the Plugin I'm trying to call a console in Enigma:


    Creating a symbolic link on a folder in an external hard disk (example):

    Bash
    external_dir=/media/hdd/picon                   # variable with a external dir (/media/usb/picon or /mnt/usb/picon , etc.)
    mkdir $external_dir                             # make the new directory on external disk
    mv /usr/share/enigma2/picon/* $external_dir     # move all picons from SKIN directory into new directory
    rmdir /usr/share/enigma2/picon                  # delete the empty picons directory
    ln -sf $external_dir /usr/share/enigma2         # create the sym-link to new directory
    reboot

    Return to original state (without symbolic link):

    Bash
    unlink /usr/share/enigma2/picon
    mkdir /usr/share/enigma2/picon
    mv /media/hdd/picon/* /usr/share/enigma2/picon
    reboot

    Hi Teto.71mo,


    if the problem still does not resolve, most Enigma2 firmwares looks for picons in multiple places. I do not know what the Dreambox firmware does, but I think so. From the OpenATV code on GitHub, it is obvious this picon path:


    /media/hdd/XPicons/picon
    /media/usb/XPicons/picon
    /usr/share/enigma2/XPicons/picon
    /usr/share/enigma2/picon
    /media/usb/picon
    /media/hdd/picon


    In your case, an external HDD or USB storage device will either be plugged into "/media/hdd" or into "/media/usb" and you will be completing the path yourself depending on where the external memory device is mounted. Basically, just create a "picon" folder in the root folder of the external disk and move the picons to it. Reboot. Done. :winking_face:

    OK, problem solved. It was my fault.


    The self["content_pic"] = Pixmap() object was probably not initialized when I wanted to use it because I removed many "declarations" from __init__. The "declaration" has speeded up in my new class initialization. The previous __init__ code took much longer, so the self["content_pic"] = Pixmap() had a lot of time to activate.


    I used the built-in function to start the functions until the Screen layer (Class) is fully started:

    Python
    class HelloWorldScreen(Screen):
        def __init__(self, session):
            Screen.__init__(self, session)
            self.session = session
            ...        
            ...
            ...
            self.onLayoutFinish.append(self.startProcedure)


    Since then everything has worked smoothly.


    SvenH thank you for your help. I also thank others for reading. :smiling_face:

    Hello, thanks for reply.


    Yup... I tried it too. I then got the same error, just that the object was no longer 'NoneType', but then it was the 'Pixmap' object, because at the beginning of the class is the declaration: self['content_pic'] = Pixmap(). In addition, Pixmap vs. Pixmap.instance is obviously a different class call. Or no ?


    What's strange is that everything worked a month ago. Then I made a lot of changes and I can not find the cause of not working :).


    The problem is somewhere in the functioning of the Enigma principle. The self-contained code as a separate plug-in just works well. However, the large plug-in code does not work. However, the class code is the same as I mentioned below in both cases (even in a small plug-in but also in a large plug-in). Something is missing there, I think ^^. Or, on the contrary, something can not be there. I do not intend to add a large plugin because it has an inappropriate publishing license.


    Someone has lost the self['content_pic'] object, but I do not know where or how it can happen. As if ['content_pic'] suddenly ceased to exist in the created Screen class.


    Sorry. I also forgot to mention that the "big" plug-in also does not work this row:
    size = self['content_pic'].instance.size()
    So instead of this, I use the max. size values from the enigma:
    from enigma import getDesktop
    sizemaxVert = getDesktop(0).size().height()
    sizemaxHoriz = getDesktop(0).size().width()


    Simply, the instance does not exist. I do not know why. I do not know when and where she could lose.

    Hello.


    What do you mean by "Job dirsync"?


    Crontab is a simple planner for unix / linux systems. If it is running and installed, it should work. The best access to set-top-box is, in my opinion, through the Shell command line (Putty app -> telnet or SSH connection). Unfortunately, I do not know the firmware for Dreambox, but on every Enigma including the Dreambox system, Crontab should be functional and adjustable.


    I am making the Cron setting at the lowest level. I will stop the Cron service, then edit the crontab configuration file manually through the FTP connection and restart the Cron service. It is possible that another Enigma stops and starts the Cron service by another method.


    For OpenATV firmware, just use the built-in execution script for Cron service:
    /etc/init.d/crond start|stop|restart
    Main CRON config file:
    /etc/cron/crontabs/root


    The Cron Service Manuals (Crontab, Crond, Cron) can find a lot on the Internet:
    https://www.systutorials.com/docs/linux/man/5-crontab/


    Cron Timing Configuration Assistants:
    https://crontab.guru/
    https://crontab-generator.org/

    Hello everyone,


    I have a problem displaying the image through this method:
    self[widget_name].instance.setPixmap(ptr)


    I got the error:
    { D } AttributeError: 'NoneType' object has no attribute 'setPixmap'


    Everything works outside of my main (very long) plugin code within the Screen class. However, it does not work in my main plug-in code - I always get the error. I know what this error message is about, but I can not imagine what it means in the context of Enigma. I've tried a lot of things.


    It looks like the plugin code does not recognize the "widget screen instance" and reports that there is no .setPixmap method for this "instance". What's interesting is that, beyond the basic plugin, the same code for displaying the image works pefectly. I was trying to make a simple short plugin especially just to open the picture and it worked.


    Does anyone know what to do with Enigma could be bad ?


    Thanks.



    In the past, the short plug-in working code + the debug-log error:

    Code
    04:15:19.6979 { D }     self["content_pic"].instance.setPixmap(ptr.__deref__())         #  .instance.setPixmap(ptr)        #  .instance.setPixmap(ptr.__deref__())
    04:15:19.6984 { D } AttributeError: 'NoneType' object has no attribute 'setPixmap'


    Separate extracted code to display an image that works as a standalone:


    ROFL ! Nope ! So, again...


    But I can not find it anywhere in the Enigma code (OpenATV, OpenPLi). For a beginner in Enigma2 programming, it's very difficult to find.

    I was thinking of the algorithm, the principle of functioning (how to open a window on the display, opening the channel-list from Enigma2 under the plugin code). I do not want python code from Enigma2 or physical files on disk. I can find it myself. I need an explanation of the principle before studying the code from the enigma for at least 5 days. I know the Enigma2-Python directory structure a bit. I also know the basics of Unix/Linux systems (already 20 years), uhm. The only one way I can call a channel-list is send a remote control code to the Enigma2 - such as virtual remote control. :smiling_face: However, this method is stupid.

    Python
    eActionMap.getInstance().keyPressed("dreambox remote control (native)", RCkod, 0)
            eActionMap.getInstance().keyPressed("dreambox remote control (native)", RCkod, 1)


    Even so, the plugin will work quite a bit altogether :frowning_face: I will leave the selection and switching of the channels on the Enigma itself.


    The problem is that when I display an image on the screen (I'm using ePicLoad). I also need to keep channel and all related stuff (EPG window, INFO about the watching channel, small EPG bar, etc.) directly from Enigma while still in the picture.


    Thanks.

    There have been a lot of active developers on the OpenPLi forum, but they have now disappeared somewhere :).


    Thank you for fast reply. I want to open standard channel-list from Enigma2. No another and enhanced channel-list. Plugin must be applicable to all Enigma2-distributions and all SKINs. That's why I want to use the channel-list directly called in Enigma2. But I can not find it anywhere in the Enigma code (OpenATV, OpenPLi). For a beginner in Enigma2 programming, it's very difficult to find. Thanks.

    Hello,


    please, how do I create a channel-list in my own Plugin ? I searched the Enigma2 code on git-hub servers, but I found nothing useful. I assume you need to use the imported parts of Enigma2:


    from Screens.InfoBarGenerics import InfoBarChannelSelection, InfoBarShowHide
    ...or import such as :
    from Screens.InfoBar import InfoBar


    But what next ? I can not bring up a channel (channel) window to switch them. The problem is that I have an image (using ePicLoad) and this picture without deleting it, I would like to display a window with a selection of satellite channels.


    Does anyone know how to do this ? Or at least how can I activate the channel selection window without displaying an image ?


    Thanks.



    P.S.
    I would also like to know how the "session" works in Enigma2. On the Internet, I found some information and a lot of Python code, but it is chaotic, hard to study and difficult to understand :-/. This, however, belongs to a separate topic.