WallPanel for Android Redux

Yeah sorry to hear that, WallPanel should have run since it supports Android 4.4.4 but if it can render a website depends on your WebView support and the site you are trying to render. You could try to display a simple Lovelace UI first, then add components until it breaks. It is most likely a CSS/HTML compatibility issue with your version of WebView component.

Thanks again. It does not load at all, even to log in. Does not work on the native browser too, do it is definitely a rendering issue. I have Chromium installed and it works with HA but I don’t think I can’t get it into WallPanel. I am trying to install Lollipop on the tab. Will let you know if it works.

The Android WebView uses a variant of Chromium, but it may not be the same as installing the Chrome browser, so there will be incompatibility issues.

HAdashboard should work.

Yeah, that is a possibility, maybe home panel or tileboard as well.

So I updated the tab to Lollipop and it has Android Webview version 39 installed (I know it’s quite old). Still both WallPanel and WallPanel legacy crashes on when trying to access dashboard. I tried to update webview but it is not easy without GApps (I have a rooted device)

Are you accessing lovelace?

Have you tried other web pages?

Or does it crash before even loading wallpanel?

Thanks. No. I can’t load HA through native web browser. I can do so through Chromium. I am trying to edit the Framework-Res and get the system to use the Android Webview new version I installed through APK. Maybe that’s too much for this old tab :frowning:

Yeah, could be. I am looking a new ways to render web pages in WallPanel, the support on older devices seems to be bad for LoveLace.

1 Like

it works well for me

 data:
   payload: '{''speak'':''Good morning''}'
   topic: wallpanel/mywallpanel/command
 service: mqtt.publish

It is possible to read template data?

'The current time is {{states(''sensor.time'')}}'

@thanksmister Can you tell us how to play a text other than English?
In the phone, Google TTS is configured, the language in the default TTS settings is Russian, the language pack is loaded, the required voice is selected, but if I send a command with the Russian text, the phone is silent, if with English it pronounces, if mixed, it pronounces only English phrases.
I use this code:

rest_command:
  hello:
    url: http://192.168.X.X:2971/api/command
    method: POST
    headers:
      accept: 'application/json, text/html'
    payload: "{'speak': '{{ words }}'}"
    content_type:  'application/json; charset=utf-8'
action:
    - service: rest_command.hello
      data:
         words: "This is a test - Это тест - Complete"

Is this possibly because the characters need to be escaped to send using MQTT? You know like you would send special characters using an api or web service.

I do not use MQTT, I use HTTP rest, but I can try the URL encode like:

"This%20is%20a%20test%20-%20%D0%AD%D1%82%D0%BE%20%D1%82%D0%B5%D1%81%D1%82%20-%20Complete"

Or need UTF encode? like:

"This is a test -  \xD0\xAD\xD1\x82\xD0\xBE\x20\xD1\x82\xD0\xB5\xD1\x81\xD1\x82 - Complete"

@thanksmister Is it possible to add which language to the command? To specify Google TTS that the text should be read in Russian or Ukrainian, the letters are similar, but the voice engine must be different.

Maybe, but someone has to update the application to handle that. I am open to PR’s, but I think normally TTS will follow the device settings, that is the preferred way.

Ok, i try with URL Encode and report the result :slight_smile:

@thanksmister Everything turned out to be different from what I expected. The phone pronounces phrases in Russian, if you send an English text, it tries to pronounce with an accent. If you send a transliterated text, it pronounces in Russian, but also bony. Numbers pronounces excellent. As soon as I have not tried to encode the text, or silence, or in the case of %D1%82%D0%B5%D1%81%D1%82 it pronounces characters, letters and numbers.
I tried it like this:
Transliterated text work with an accent in Russian:

сurl -X POST -H "Accept: application/json, text/html" -H "Content-Type: application/json; charset=utf-8" -d "{'speak', 'Test''} http://wallpanel-ip:2971/api/command

Not work - silent:

сurl -X POST -H "Accept: application/json, text/html" -H "Content-Type: application/json; charset=utf-8" -d "{'speak', 'Тест''} http://wallpanel-ip:2971/api/command

Pronounces characters, letters and numbers in Russian:

сurl -X POST -H "Accept: application/json, text/html" -H "Content-Type: application/json; charset=utf-8" -d "{'speak', '%D1%82%D0%B5%D1%81%D1%82''} http://wallpanel-ip:2971/api/command

How can I debug and understand the problem?

The application is going to use the TTS language that you have set on the device, if the device is in Russian, it should be speaking everything in Russian. If the word is an english word, then it’s going to be pronounced with a Russian accent. I have not tried to send special characters with MQTT for TTS, so I am not sure what format would work.

I understand that, but how to send the Russian text?

Is it possible to view the application logs? What text comes from the client? And if it comes up normal, then probably the problem is in the processing of this text.