Nymea-app fails to open http links

when I have script editor open an click on the ? in the top right for help, nothing happens. Started nymea-app from terminal and when clicking on ? the terminal shows
Launch failed (/usr/bin/xdg-open https://nymea.io/en/wiki/nymea/master/configuration/scripting)

if I launch command from a terminal /usr/bin/xdg-open https://nymea.io/en/wiki/nymea/master/configuration/scripting
it starts firefox and opens that page.

is there an environmental parameter that needs to be set? my normal launcher is ‘env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/nymea-app_nymea-app.desktop /snap/bin/nymea-app %U’ from my Ubuntu menu items list.

1 Like

from previous thread, the failure of nymea-cli to login was an incorrect password on my part, and therefore not a problem.
note: under nymea:app in System Settings -> User Settings you suggested existed to get the correct username - User Setting does not exist there and I do not use the cloud if you really thought it was there.

complete output from terminal from ? in scripting editor. (I hit the ? twice)
“Qt: Session management error: None of the authentication protocols specified are supported
App log opened at “/home/beckstein/snap/nymea-app/common/.cache/nymea/nymea-app/nymea-app.log”
nymea:app 1.0.182 running on “BEE-XPS15” “Ubuntu Core 18” “ubuntu-core” “18”
Locale info: QLocale(English, Latin, UnitedStates) “en_US” QLocale::Language(English) QLocale(English, Latin, UnitedStates)
Loaded translation for locale QLocale(English, Latin, UnitedStates)
Loaded Host from cache “nymea” QUuid(”{161cd626-4bcc-abcf-b2db-c2d8538b0812}")
|- Connection: “0” QUrl(“nymeas://192.168.1.170:2222”) Connection::BearerType(BearerTypeLan) secure: false
Loaded Host from cache “nymea” QUuid("{5ab68a56-488f-4d77-ad22-26284800c3fe}")
|- Connection: “0” QUrl(“wss://192.168.1.182:4444”) Connection::BearerType(BearerTypeLan) secure: false
Loaded Host from cache “nymea” QUuid("{9ac6b9b0-d853-4253-b341-29a36cc0053d}")
|- Connection: “0” QUrl(“wss://127.0.0.1:4444”) Connection::BearerType(BearerTypeLoopback) secure: false
|- Connection: “1” QUrl(“nymeas://192.168.1.151:2222”) Connection::BearerType(BearerTypeLan) secure: false
UPnP: Discovering on QHostAddress(“192.168.1.174”) 49125
UPnP: Discovering on QHostAddress(“192.168.1.151”) 49125
ZeroConf: Created service browser for _jsonrpc._tcp: true
ZeroConf: Created service browser for _ws._tcp: true
No current host… Nothing to do…
UPNP: Discovery started…
Setting AWS configuration to “Community”
qml: AWS not logged in. Cannot register for push
qml: Last connected host was {161cd626-4bcc-abcf-b2db-c2d8538b0812}
UPNP: Discovery stopped.
qml: calling init. Auth required: false initial setup required: false jsonrpc connected: false Current host: NymeaHost(0x55918b47cb80)
qml: pushing ConnectingPage
Nymea host is “nymea” QUuid("{161cd626-4bcc-abcf-b2db-c2d8538b0812}")
Best candidate LAN/WAN connection: QUrl(“nymeas://192.168.1.170:2222”)
Loaded SSL certificate for “192.168.1.170”
Connecting to: QUrl(“nymeas://192.168.1.170:2222”) TcpSocketTransport(0x55918b761300) Connection(0x55918b47c380)
TCP socket connecting to “192.168.1.170” 2222
Socket state changed --> QAbstractSocket::HostLookupState
Socket state changed --> QAbstractSocket::ConnectingState
No available Cloud connection to “nymea”
qrc:/ui/RootItem.qml:344:31: QML TabButton: Binding loop detected for property “width”
Socket state changed --> QAbstractSocket::ConnectedState
There’s a host but no connection. Trying to connect now…
Best candidate LAN/WAN connection: QUrl(“nymeas://192.168.1.170:2222”)
Already have a connection (or connection attempt) for QUrl(“nymeas://192.168.1.170:2222”)
No available Cloud connection to “nymea”
SSL errors for url: QUrl(“nymeas://192.168.1.170:2222”)
“The host name did not match any of the valid hosts for this certificate”
Ignoring host mismatch on certificate.
“The certificate is self-signed, and untrusted”
Found a SSL certificate for this host. Ignoring error.
TCP socket encrypted
NymeaConnection: Connected to “nymea” via QUrl(“nymeas://192.168.1.170:2222”)
JsonRpcClient: Transport connected. Starting handshake.
Handshake reply: Protocol version: “4.2” InitRequired: false AuthRequired: true PushButtonAvailable: false
qml: auth required changed
qml: calling init. Auth required: false initial setup required: false jsonrpc connected: false Current host: NymeaHost(0x55918b47cb80)
qml: pushing ConnectingPage
Notifications enabled: QMap((“id”, QVariant(double, 2))(“params”, QVariant(QVariantMap, QMap((“enabled”, QVariant(bool, true))(“namespaces”, QVariant(QVariantList, (QVariant(QString, “Scripts”), QVariant(QString, “JSONRPC”), QVariant(QString, “Tags”), QVariant(QString, “Rules”), QVariant(QString, “Logging”), QVariant(QString, “System”), QVariant(QString, “Devices”), QVariant(QString, “Configuration”)))))))(“status”, QVariant(QString, “success”)))
qml: json client connected changed true
qml: calling init. Auth required: false initial setup required: false jsonrpc connected: true Current host: NymeaHost(0x55918b47cb80)
Model populated 0 TagListModel(0x55918cedbd60)
Model populated 0 TagListModel(0x55918cedbd60)
Current connection: NymeaHost(0x55918b47cb80) TcpSocketTransport(0x55918b761300) 1
(TcpSocketTransport(0x55918b761300))
Connection(0x55918b47c380)
Engine: connected changed: true
Devices: delete all devices
Devices: delete all deviceClasses
Plugins: delete all plugins
Engine: inital setup required: false auth required: false
Model populated 0 TagListModel(0x55918cedbd60)
Model populated 0 TagListModel(0x55918cedbd60)
qml: DevicesPageDelegate, inlineControl: Unhandled interface button
qml: DevicesPageDelegate, inlineControl: Unhandled interface gateway
capabilities received QMap((“id”, QVariant(double, 16))(“params”, QVariant(QVariantMap, QMap((“powerManagement”, QVariant(bool, true))(“timeManagement”, QVariant(bool, true))(“updateManagement”, QVariant(bool, true)))))(“status”, QVariant(QString, “success”)))
Model populated 5 TagListModel(0x55918cedbd60)
qt.bluetooth.bluez: Missing CAP_NET_ADMIN permission. Cannot determine whether a found address is of random or public type.
******** Repos QMap((“id”, QVariant(double, 23))(“params”, QVariant(QVariantMap, QMap((“repositories”, QVariant(QVariantList, (QVariant(QVariantMap, QMap((“displayName”, QVariant(QString, “Testing”))(“enabled”, QVariant(bool, false))(“id”, QVariant(QString, “virtual_testing”)))), QVariant(QVariantMap, QMap((“displayName”, QVariant(QString, “Experimental”))(“enabled”, QVariant(bool, false))(“id”, QVariant(QString, “virtual_experimental”))))))))))(“status”, QVariant(QString, “success”)))
Server time QMap((“id”, QVariant(double, 24))(“params”, QVariant(QVariantMap, QMap((“automaticTime”, QVariant(bool, true))(“automaticTimeAvailable”, QVariant(bool, true))(“time”, QVariant(double, 1.58499e+09))(“timeZone”, QVariant(QString, “America/New_York”)))))(“status”, QVariant(QString, “success”)))
Loading rule template: “:/ruletemplates/accesscontroltemplates.json”
Loading rule template “Alert me on denied access attempts” “Alert me on denied access attempts”
Loading rule template “Notify my about access” “Notify my about access”
Loading rule template “Notify my about user access” “Notify my about user access”
Loading rule template: “:/ruletemplates/buttontemplates.json”
Loading rule template “Turn on lights” “Turn on lights”
Loading rule template “Turn off lights” “Turn off lights”
Loading rule template “Switch a light” “Switch a light”
Loading rule template “Turn off all lights” “Turn off all lights”
Loading rule template: “:/ruletemplates/daylightsensor.json”
Loading rule template “Turn on a light while it’s dark outside” “Turn on a light while it’s dark outside”
Loading rule template “Turn on a light when it gets dark outside” “Turn on a light when it gets dark outside”
Loading rule template “Turn on all lights when it gets dark outside” “Turn on all lights when it gets dark outside”
Loading rule template: “:/ruletemplates/doorbellruletemplates.json”
Loading rule template “Alert on doorbell ring” “Alert on doorbell ring”
Loading rule template: “:/ruletemplates/mediatemplates.json”
Loading rule template “Dim light while watching TV” “Dim light while watching TV”
Loading rule template: “:/ruletemplates/notificationtemplates.json”
Loading rule template “Notify me when a device runs out of battery” “Notify me when a device runs out of battery”
Loading rule template “Notify me when something runs dry” “Notify me when something runs dry”
Loading rule template “Notify me when a thing gets disconnected” “Notify me when a thing gets disconnected”
Loading rule template “Notify me when a thing connects” “Notify me when a thing connects”
Loading rule template: “:/ruletemplates/presencesensortemplates.json”
Loading rule template “Turn on something while being present” “Turn on something while being present”
Loading rule template “Turn off something when leaving” “Turn off something when leaving”
Loading rule template “Turn off everything when leaving” “Turn off everything when leaving”
Loading rule template “Turn off all lights when leaving” “Turn off all lights when leaving”
Loading rule template “Turn on something when arriving” “Turn on something when arriving”
Loading rule template: “:/ruletemplates/smartmetertemplates.json”
Loading rule template “Charge my car while producing energy” “Charge my car while producing energy”
Loading rule template “Turn on heating while producing energy” “Turn on heating while producing energy”
Loading rule template: “:/ruletemplates/thermostattemplates.json”
Loading rule template “Set temperature while I’m home” “Set temperature while I’m home”
QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:74:26 depends on non-NOTIFYable properties:
QQuickItem::data
QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:74:26 depends on non-NOTIFYable properties:
QQuickItem::data
QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:38:28 depends on non-NOTIFYable properties:
QQuickItem::data
qml: text:

p, li { white-space: pre-wrap; }


QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:74:26 depends on non-NOTIFYable properties: QQuickItem::data QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:58:37 depends on non-NOTIFYable properties: QQuickItem::data QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:53:37 depends on non-NOTIFYable properties: QQuickItem::data QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:48:39 depends on non-NOTIFYable properties: QQuickItem::data QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:58:37 depends on non-NOTIFYable properties: QQuickItem::data QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:53:37 depends on non-NOTIFYable properties: QQuickItem::data QQmlExpression: Expression qrc:/ui/magic/scripting/EditorPane.qml:48:39 depends on non-NOTIFYable properties: QQuickItem::data block text "" false block name "Item {" stripped klammer "Item" final name "Item" is imperative block? false "Item" blockText "" block name "Item {" stripped klammer "Item" final name "Item" Block name "Item" Model has 20 Filtered: 20 filter: "" Launch failed (/usr/bin/xdg-open https://nymea.io/en/wiki/nymea/master/configuration/scripting) Launch failed (/usr/bin/xdg-open https://nymea.io/en/wiki/nymea/master/configuration/scripting) qt.bluetooth.bluez: SDP search failed for "00:71:CC:3A:86:1C" qt.bluetooth.bluez: Cannot find sdpscanner: "" qrc:///QtQuick/VirtualKeyboard/content/components/SelectionControl.qml:80: TypeError: Cannot read property 'cursorRectIntersectsClipRect' of null qrc:///QtQuick/VirtualKeyboard/content/components/SelectionControl.qml:48: TypeError: Cannot read property 'anchorRectIntersectsClipRect' of null "

in reply to the missing user settings: This will only be shown if you’re using a connection that actually requires a login.

i.e. if you go to System Settings -> API Interfaces, you can see each open port of nymea. Not all of them might require login. If you currently are connected to a interface that does not require login, the user/password section will not appear. We don’t want to allow someone changing the password unless he’s properly logged in.

From your log I see that you have enabled localhost connections without login required, that’s fine (in normal circumstances), but you won’t be able to change the password from there.

I’ll still have to investigate the issue with the links not opening from the snap packge… I have upgraded my laptop to Ubuntu 19.10 and currently I cannot run any snap at all…

Ok, I’ve managed to fix this.

If you use the nymea-app from the edge channel now it should work.

sudo snap refresh nymea-app --channel edge

It’ll be released to the stable channel on the next stable nymea release.

Thanks for reporting this.