Active Topics

 



Notices


Reply
Thread Tools
helex's Avatar
Posts: 543 | Thanked: 802 times | Joined on Apr 2010 @ Germany
#21
Originally Posted by marxian View Post
The differences are small, so I don't really mind having the layout as it is.
Okay, I have it still on my to-do-list. But now with a very low priority.

Originally Posted by marxian View Post
I haven't found the command for the Info button. I know the Enigma2 key number is 358, but I couldn't find one for Enigma1.
So the webremote you get if you enter the ip into your browser is also unable to send a correct keycode for the info button, too?

Originally Posted by marxian View Post
The command for the screenshot is

Code:
http://<dreambox_ip_address>/body?mode=controlScreenShot
The resulting screenshot image is located at

Code:
http://<dreambox_ip_address>/root/tmp/screenshot.bmp
I did a quick test and used wget to download the screenshot image, and it works.
Great!
Thanks for investigating. The commands are quite different.
I (hopefully) fixed in the meantime the aegis related bug. I would say lets see if the Enigma1 webremote would also accept the new Enigma2 command. Perhaps it works now. If it fails I will integrate your command in the next release.

Originally Posted by marxian View Post
You may already have seen these, but here's a couple of links for web interface commands:

http://radiovibrations.com/dreambox/webif.htm

and a Wiki in German:

http://dream.reichholf.net/wiki/Webinterface_Befehle
There are a lot of different documentations out there.
The first was new for me. Thanks. I know the second but it is outdated in some parts. Mostly regarding the additional row of buttons at the newest remote type. And dream multimedia is still changing stuff and breaking old. As the videotext blocking while shown the webremote.
It feels like the old bug to get a green screen while accessing the egp during watching a record.

Originally Posted by marxian View Post
It would be cool to have some of the EPG/Timer commands etc. For example, you could retrieve the EPG and display it in a QML WebView (or use your own display UI), and allow setting of a record timer without needing to see the TV.
It is on the to-do-list but I have currently no concrete plans. But my UI is already prepared. There is plenty of space at the toolbar between the close and the menu button not without reason.

I've done already some testing into this direction to prepare myself. Look at my BashOrgQuotations application. It parses the content of a website into a list. Works good as long as the webmaster wouldn't change his site.

But my main priority is at the moment to get everything I have currently integrated working flawless. As soon as the screenshot works you will already be able to add a timer to your box from a different room even if it is painfully slow.

Planned features before egp and timer lists/edit:
  • zoom mode for the screenshot
  • (perhaps) a possibility to load user generated remotes into DreamRemote including the possibility to create macros (at your own risk)
  • support for AZbox

The second is a vague idea. It depends on the possibility to find a way to include a qml file into my ui in a crash protected way. At the moment the whole app crashes if there is a error in a included qml file. I would prefer a error message instead. But my inquiries about this topic were about 30 minutes... perhaps I will continue next month to search a solution.
Or have you already a good idea how to implement something like this?
__________________
I was a Qt Ambassador!

Please DONATE if you like my work!
It's the best way to motivate me to create more stuff for your Device.
 
marxian's Avatar
Posts: 2,448 | Thanked: 9,523 times | Joined on Aug 2010 @ Wigan, UK
#22
Originally Posted by helex View Post
So the webremote you get if you enter the ip into your browser is also unable to send a correct keycode for the info button, too?
That's right. The web interface remote uses the same layout as yours.

Originally Posted by helex View Post
The second is a vague idea. It depends on the possibility to find a way to include a qml file into my ui in a crash protected way. At the moment the whole app crashes if there is a error in a included qml file. I would prefer a error message instead. But my inquiries about this topic were about 30 minutes... perhaps I will continue next month to search a solution.
Or have you already a good idea how to implement something like this?
I presume you are attempting to create the QML object statically? This will prevent the main.qml file from being loaded as the component that contains the error cannot be instantiated. If you create the QML object dynamically like this

Code:
function createObject(sourceFile, parentObject) {
    var component = Qt.createComponent(sourceFile);
    
    if (component.status == Component.Ready) {
        var guiObject = component.createObject(parentObject);
        
        if (guiObject == null) {
            console.log("Error creating object");
        }
        else {
            return guiObject
        }
    }
    else {
        console.log(component.errorString());
    }
}
then you can handle the error. In the above code, if the created component does not have status == Component.Ready, then the error is logged to the console. Otherwise, the created object is returned with parent as specified.

For more information, see

http://doc.qt.nokia.com/4.7-snapshot...nt-dynamically

and

http://doc.qt.nokia.com/4.7-snapshot/qml-component.html
__________________
'Men of high position are allowed, by a special act of grace, to accomodate their reasoning to the answer they need. Logic is only required in those of lesser rank.' - J K Galbraith

My website

GitHub

Last edited by marxian; 2012-02-28 at 20:35. Reason: typo in code
 

The Following User Says Thank You to marxian For This Useful Post:
Posts: 13 | Thanked: 12 times | Joined on Feb 2012 @ Czech Republic
#23
First, I have to say, I have bought and download full version of the application and I must say, it is great!

Now I would like to help you to find right commands of webinterface from Enigma 1, I have DM 7000. The Info button works well for me (it has code 358), whole url, seen on web interface of remote control, is
Code:
http://<dreamboxAddr>/cgi-bin/rc?358
Url to capture screenshot is the same as Marxian written, called from main web user interface, "Control" page...
Code:
http://<dreamboxAddr>/body?mode=controlScreenShot
but the resulting image is on different path for my box, note the different picture file extension (type) ... not *.bmp
Code:
http://<dreamboxAddr>/root/tmp/screenshot.jpg

Last edited by sanmob; 2012-02-28 at 20:45.
 

The Following User Says Thank You to sanmob For This Useful Post:
Posts: 13 | Thanked: 12 times | Joined on Feb 2012 @ Czech Republic
#24
...continuing in next post because I can not paste here more links as a new user...

Command to capture OSD shot (without main screen picture) is
Code:
http://<dreamboxAddr>/body?mode=controlFBShot
and resulting image is on same path as for screenshot (in my previous post)

To capture screenshot of front LCD display of Dreambox, use command
Code:
http://<dreamboxAddr>/body?mode=controlLCDShot
and resulting image is (little bit not logical ) on following path
Code:
http://<dreamboxAddr>/root/tmp/osdshot.png
If it helps you to finish screenshot feature of the application also for Enigma 1, I am ready to try, test and find another commands with my webinterface and Dreambox....just ask for what you need... I like this though as earlier somewhere here said, that this is possibility to add timer from EPG list in another room....and what for me would be very welcome, to be able to add record event from outside, if I recognize that some movie is interesting for me to watch it and I'm currently not in front of PC to use normal web interface for it.
 

The Following User Says Thank You to sanmob For This Useful Post:
helex's Avatar
Posts: 543 | Thanked: 802 times | Joined on Apr 2010 @ Germany
#25
Thanks for your post, sanmob. This helps me a lot.
The different file extention is a small problem for me. Perhaps I need to identify before if it is a 500 / 600 or a 7000. I will see if I have a idea during the night how to handle this issue.
__________________
I was a Qt Ambassador!

Please DONATE if you like my work!
It's the best way to motivate me to create more stuff for your Device.
 
marxian's Avatar
Posts: 2,448 | Thanked: 9,523 times | Joined on Aug 2010 @ Wigan, UK
#26
Originally Posted by helex View Post
Thanks for your post, sanmob. This helps me a lot.
The different file extention is a small problem for me. Perhaps I need to identify before if it is a 500 / 600 or a 7000. I will see if I have a idea during the night how to handle this issue.
Are you downloading the image using QNetworkAccessManager, or simply setting the source of a QML Image object? In either case, it shouldn't be too difficult to handle the error if the URI doesn't exist. Let's say you try .bmp first, with QNetworkAccessManager, you can catch the error when the QNetworkReply* emits the finished() signal, i.e

Code:
connect(reply, SIGNAL(finished()), this, SLOT(downloadFinished()));

void ImageDownloader::downloadFinished() {
    if (reply->error()) {
        //handle error 
        if (reply->error() == QNetworkReply::ContentNotFoundError) {
            qDebug() << "Image not found"
            // try .jpg format if not already attempted
        }
    }
    else {
        //write image to file
    }
}
With QML Image, you can use the statusChanged() signal to handle the error

Code:
Image {
     id: image

     property string imageFormat: source.toString().slice(-3)     

     source: "http://<dreambox_ip>/root/tmp/screenshot.bmp"
     onStatusChanged: {
         if (image.status == Image.Error) {
             if (image.imageFormat == "bmp") {
                 image.source = "http://<dreambox_ip>/root/tmp/screenshot.jpg";
             }
             else {
                 console.log("No image found, using placeholder");
                 image.source = <placeholder_image>;
             }
      }
 }
This is off the top of my head, so there is probably room for some refinement.
__________________
'Men of high position are allowed, by a special act of grace, to accomodate their reasoning to the answer they need. Logic is only required in those of lesser rank.' - J K Galbraith

My website

GitHub

Last edited by marxian; 2012-02-29 at 00:26.
 

The Following User Says Thank You to marxian For This Useful Post:
helex's Avatar
Posts: 543 | Thanked: 802 times | Joined on Apr 2010 @ Germany
#27
Originally Posted by marxian View Post
Are you downloading the image using QNetworkAccessManager, or simply setting the source of a QML Image object? In either case, it shouldn't be too difficult to handle the error if the URI doesn't exist. Let's say you try .bmp first, with QNetworkAccessManager, you can catch the error when the QNetworkReply* emits the finished() signal, i.e
I'm using the QNetworkAccessManager. But in difference to Enigma1 I get the image data as a reply for my request command without extra step.

Code:
http://<IP>/grab?format=jpg
simplified code:
Code:
void appLogic::replyScreenshotFinished(QNetworkReply* r)
{
    if (r->error() == QNetworkReply::NoError) {
        QFile jpg("tmp.jpg")
        jpg.write(r.readAll());
        jpg.close();
    }
    else
    {
        // errorhandling
    }
    disconnect(&manager, SIGNAL(finished(QNetworkReply*)),this, SLOT(replyScreenshotFinished(QNetworkReply*)));
}
This way you get the screenshot in a file called tmp.jpg. Since I have anyway a command buffer implemented sending several commands in order is no problem for me. So perhaps I could simply try to get both and use the one which is actually a image. But I have still the hope for a more elegant solution.
__________________
I was a Qt Ambassador!

Please DONATE if you like my work!
It's the best way to motivate me to create more stuff for your Device.

Last edited by helex; 2012-02-29 at 02:21.
 
helex's Avatar
Posts: 543 | Thanked: 802 times | Joined on Apr 2010 @ Germany
#28
The update to 2.1.0 is on its way. A lot of stuff has changed:
  • Added self alalytics in case of network errors
  • Added support for dbox2 with neutrino image
  • disabled the Videotext button for Enigma2 because of a bug in the newer firmwares (I will enable it again after I found a workaround or I will perhaps create a simple setting to make a activation at your own risk possible, disabled by default)
  • a first try to support the screenshots for Enigma1
  • some minor improvements

I hope the update will arrive at the ovi store before the weekend.
__________________
I was a Qt Ambassador!

Please DONATE if you like my work!
It's the best way to motivate me to create more stuff for your Device.
 
Posts: 13 | Thanked: 12 times | Joined on Feb 2012 @ Czech Republic
#29
I have upgraded and tried the screenshot function for Enigma 1 on my DM 7000. Unfortunately it still doesn't work, there is message "no response" in red framed label
Another functions work well....I do not know If you have finished some working version of screen function for Enigma1 yet, so just giving feedback about functionalily...
Another thing: Video text button is disabled also for Enigma1, should it be?
 

The Following User Says Thank You to sanmob For This Useful Post:
helex's Avatar
Posts: 543 | Thanked: 802 times | Joined on Apr 2010 @ Germany
#30
Originally Posted by sanmob View Post
I have upgraded and tried the screenshot function for Enigma 1 on my DM 7000. Unfortunately it still doesn't work, there is message "no response" in red framed label
Thank you for the feedback. I have no Enigma1 dreambox over here. So it is really hard for me to integrate it because I'm unable to test the function. So your feedback is really welcome. I hope we are able to get it together working.

Originally Posted by sanmob View Post
Another functions work well....I do not know If you have finished some working version of screen function for Enigma1 yet, so just giving feedback about functionalily...
I just looked into the sourcecode and found a minor bug which could cause such a error. Perhaps it could work now. If not I need to spent more time.

Originally Posted by sanmob View Post
Another thing: Video text button is disabled also for Enigma1, should it be?
Has the video text button worked for you without problems?

I was not sure if the newest Webinterface for Enigma1 could share the videotext bug. But while thinking about it the reason for the videotext bug should have it's cause in Enigma itself, and not the webinterface. And since they have stopped the development of Enigma1 it should work without problems... So, I'm sorry. I will activate it again with the next update.

I will create a setting button later for Enima 2, just in case someone has a old firmware (as myself) or it will get fixed with the new videotext software later this year or perhaps next year. (I know nothing about the progress of the development, so I can only speculate when a respective update for the dreambox could appear)

I will upload the new version before lunch. The update shuld appear at your device in 2 or 3 days. Perhaps Tuesday or Wednesday.
__________________
I was a Qt Ambassador!

Please DONATE if you like my work!
It's the best way to motivate me to create more stuff for your Device.
 
Reply

Tags
dreambox, network, neutrino, remote, remote control


 
Forum Jump


All times are GMT. The time now is 01:38.