I totally lost with the migration from oh2.5 to 3.2 binding
When switching the pushover button to on I always get this error
[ERROR] [internal.handler.ScriptActionHandler] - Script execution of rule with UID 'test-1' failed: 'sendHtmlMessage' is not a member of 'org.openhab.core.thing.binding.ThingActions'; line 15, column 17, length 78 in test
rule "Pushover Test"
when
Item pushover received command
then
val actions = getActions("pushover", "pushover:pushover-account:account")
switch(receivedCommand) {
case ON: {
// sendPushoverMessage(pushoverBuilder("test message").withPriority(1).withSound("magic"))
actions.sendHtmlMessage("Hello <font color='green'>World</font>!", "openHAB3")
logInfo("PUSHOVER", "--> on ")
}
case OFF: {
logInfo("PUSHOVER", "--> off ")
}
}
end
Youâve create the Pushover Thing and configured it as needed?
The Pushover Thing is showing as online in MainUI?
The second argument youâve passed to getActions is the exact same as the ID for the Pushover Thing? It is almost certainly different from "pushover:pushover-account:account".
I have recently upgraded to OH 4.0.3 and having some difficulty with uploading Pushover rules. I had run a quick test:
when
Item "Pushover_Test" changed
then
val actions = getActions("pushover","pushover:pushover-account:My_Pushover")
// send HTML message
actions.sendHtmlMessage("Hello <font color='green'>World</font>!","openHAB")
end
As I open the Rules in the MainUI under Settings, this particular rule is not listed. However, it is present in the Pushover.rules in the conf folder.
Pushover binding installed, Pushover Thing configured and listed ONLINE.
To further test, I created a Pushover.script file and introduced only
// send HTML message
actions.sendHtmlMessage("Hello <font color='green'>World</font>!","openHAB")
Intrestingly, the script file is listed on the MainUI, and works as expected with the Run Now button.
Which folder exactly? .rules files are only read from the $OH_CONF/rules folder. Do you see a âloadedâ message in OH logs for this file? Error messages?
Thank you much for getting back. To my shame, I have to admit I donât know how to look that up.
I started from the premise that all other rules ( network, serial, etc) in the same folder were functional. Is there a tutorial I can read to learn the process? Apologies for being unprepared to answer appropriately.
The reference docs for Rules indicate which folder .rules files should go. Rules | openHAB
But given that you created the rule in the first place you should know which folder you saved it in.
Or are you using UI created rules? If thatâs the case, your syntax is wrong. The structure of the rule is defined through the forum so in the script action you donât use when, then, and end.
I created the rule in VSC and placed it in the appropriate .rules folder linked to OH4. I can access the folder vĂa ssh and the rule is in there. All other rules created the same way, and places in their respective .rules folders. They seem to load well without issues.
Unfortunately, Iâm not familiar on how to run a log to see if the Pushover rule is loaded, as you indicated earlier.
I went ahead and created the Pushover rule in Ui and it works.
Just trying to find out the reason why the text file rule not working as expected. Had a similar issue trying to configure MyQ things and items in text file with VSC, but working appropriately via Ui
If youâve used openHABian, you have Frontail installed and configured to see the logs. Otherwise the logs location depends on how you installed OH. If you used apt/yum they are located in /var/log/openhab. openhab.log is the important one.
OK, in a docker container situation youâll find the logs under userdata/logs/openhab.lg where userdata is the host folder mounted into the container as a volume to /openhab/userdata/.
So, I deleted everything Pushover, and started from the beginning.
Uploaded binding, created Thing and Item in text file. Checked on MainUI and Thing is ONLINE. Item visible in MainUI.
Created .rules file, but same, not visible in MainUI.
Opened log file and got the following:
2023-10-17 11:01:03.408 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Pushover.rules'
2023-10-17 11:01:03.420 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Pushover.rules' is either empty or cannot be parsed correctly!
2023-10-17 11:02:52.329 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'Pushover.rules'
2023-10-17 11:02:52.337 [WARN ] [el.core.internal.ModelRepositoryImpl] - Configuration model 'Pushover.rules' is either empty or cannot be parsed correctly!
Ok, weâll there you have it. There is something wrong with the .rules file, something fundamental. Maybe itâs using Windows newlines instead of Unix newlines (there is a dos2unix utility that is usually installed) that can correct that? Maybe itâs some weird encoding? Maybe it truly is empty?
One thing you can try is to start with an empty file (this will still generate an error). Then add an empty rule. Then add the contents. See where it breaks.
Alternatively, if you are not married to text file based rules define it in the UI and side step this while issue entirely.
Will do. I guess its part of the learning curve and somehow I feel like cheating if I just go to the UIâŠ
Also, what would be the best way to clean up cache and temp files in docker?
Iâve been using OH since version 1.6. Since OH 3 Iâve used the UI exclusively. Itâs definitely not cheating. OH and home automation in general are hard enough on their own. Thereâs no need to struggle with stuff like syntax and file formats if itâs not necessary.
I even have a few rules written in Blockly.
You should almost never need to do this. The only thing it does is cause OH to redownload and reinstall the add-ons. Itâs only necessary when there is a problem installing add-on or a problem with an add-on starting up, or during an upgrade. In the latter case, the image does the cache clearing fire you.
To do it manually, stop the container and delete the contents of userdata/cache and userdata/tmp.
Got it. Meanwhile, I have taken the stepwise approach you suggested and âŠVoila!!! Now it works!
Much appreciate your patience on this matter. It feels better to learn that there are alternatives