bengtmartensson / IrpTransmogrifier

Parser for IRP notation protocols, with rendering, code generation, and decoding.
http://www.harctoolbox.org/
GNU General Public License v3.0
26 stars 4 forks source link

How exactly do I install / run IrpTransmogrifier ? #192

Closed nodecentral closed 4 years ago

nodecentral commented 4 years ago

Hi,

Being new to linux, I’m embarrassed to say I don’t understand the installation instructions, by any chance do you have a step by step (idiots guide)?

Also I’m ideally looking to use/run IrpTransmogrifier on an off the shelf Home Automation, running on linux, which I have command line access to. Do you foresee any issues with that ?

bengtmartensson commented 4 years ago

Installation of IrpTransmogrifier is covered here. Note that it may be quicker just to install IrScrutinizer; that will install a command irptransmogrifier too.

Also I’m ideally looking to use/run IrpTransmogrifier on an off the shelf Home Automation, running on linux, which I have command line access to. Do you foresee any issues with that ?

I am not sure what answer you expect. You might like to have a look at JGirs, but that is not really polished.

nodecentral commented 4 years ago

Hi, thanks for the response.

I’m trying to install this on a (MiOS) Vera Home Automation controller.

Here’s what I’ve been able to achieve so far.

`root@MiOS_5247999:/tmp/verair#` curl -H “Authorization: token $GITHUB_MASTER” -L ```
https://codeload.github.com/bengtmartensson/IrpTransmogrifier/tar.gz/master > repo.tar.gz

% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

curl: (6) Could not resolve host: token
curl: (6) Could not resolve host: ”

100  858k    0  858k    0     0  1049k      0 --:--:-- --:--:-- --:--:-- 1320k

root@MiOS_5247999:/tmp/verair# ls
IrpTransmogrifier  master             repo.tar.gz
root@MiOS_5247999:/tmp/verair# tar -xzf repo.tar.gz
tar: warning: skipping header 'g'

root@MiOS_5247999:/tmp/verair# ls
IrpTransmogrifier         IrpTransmogrifier-master  master                    repo.tar.gz

root@MiOS_5247999:/tmp/verair# cd IrpTransmogrifier-master

root@MiOS_5247999:/tmp/verair/IrpTransmogrifier-master# ls
LICENSE            README.md          common             irptransmogrifier  src

root@MiOS_5247999:/tmp/verair/IrpTransmogrifier-master# file irptransmogrifier
irptransmogrifier: POSIX shell script, ASCII text executable

root@MiOS_5247999:/tmp/verair/IrpTransmogrifier-master# chmod +x irptransmogrifier

root@MiOS_5247999:/tmp/verair/IrpTransmogrifier-master# ./irptransmogrifiergrifier
./irptransmogrifier: line 5: xpath: not found
./irptransmogrifier: exec: line 11: java: not found

root@MiOS_5247999:/tmp/verair/IrpTransmogrifier-master# 

Do I need things like Java installed if I’m just looking to run it from the command line ?

bengtmartensson commented 4 years ago

Such "creativity"... Why don't you follow the instructions, as linked in my previous message?

nodecentral commented 4 years ago

Such "creativity"... Why don't you follow the instructions, as linked in my previous message?

Hi, sorry - I thought I was , the instructions said to run the irptransmogrifier.sh, which I did ? And I get this ?

`root@MiOS_5247999:/tmp/verair/IrpTransmogrifier-master# ./irptransmogrifiergrifier
./irptransmogrifier: line 5: xpath: not found
./irptransmogrifier: exec: line 11: java: not found `

Also, my ‘creativity’ is just pulling bit and pieces together from google searches 🤪🤣

I’m ultimately trying to keep the install/configuration requirements on the Vera HA Controller to be a low/little as possible so not to break anything..

bengtmartensson commented 4 years ago

This file is the one you should download and unzip. (Sorry, the link in the doc was incorrect.) I assume you know how to download and unzip.

the instructions said to run the irptransmogrifier.sh, which I did ?

No, you didn't. Read carefully.

nodecentral commented 4 years ago

the instructions said to run the irptransmogrifier.sh, which I did ?

No, you didn't. Read carefully.

Ok, so sorry, I thought i did, what did I run then ?

Using the files you shared in the new link, I still end up with the same Java not found error - now admittedly the linked instructions do say "The program presently requires Java 8 JRE or later to run". but considering the constraints i have with the install location - I was hoping there was a possible workaround to avoid installing anything more ?

I’m guessing not ?

root@MiOS_5247999:~# cd /tmp/verair

root@MiOS_5247999:/tmp/verair# curl -H “Authorization: token $GITHUB_MASTER” -L https://github.com/bengtmartensson/IrpTransmogrifier/releases/down
load/Version-1.2.8/IrpTransmogrifier-1.2.8-bin.zip > IrpTransmogrifier-1.2.8-bin.zip
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current  Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (6) Could not resolve host: token
curl: (6) Could not resolve host: ”
100   655  100   655    0     0   2248      0 --:--:-- --:--:-- --:--:--  2248
100 3234k  100 3234k    0     0  1105k      0  0:00:02  0:00:02 --:--:-- 1348k

root@MiOS_5247999:/tmp/verair# ls
IrpTransmogrifier                IrpTransmogrifier-master         repo.tar.gz
IrpTransmogrifier-1.2.8-bin.zip  master

root@MiOS_5247999:/tmp/verair# unzip IrpTransmogrifier-1.2.8-bin.zip
Archive:  IrpTransmogrifier-1.2.8-bin.zip
  inflating: LICENSE
  inflating: README.md
  inflating: IrpTransmogrifier.xml
  inflating: IrpProtocols2html.xsl
  inflating: IrpTransmogrifier-1.2.8.jar
  inflating: IrpTransmogrifier-1.2.8-jar-with-dependencies.jar
  inflating: IrpProtocols.xml
  inflating: irptransmogrifier.bat
  inflating: irp-protocols.xsd
  inflating: IrpProtocols.html
  inflating: IrpTransmogrifier.html
  inflating: irptransmogrifier.sh

root@MiOS_5247999:/tmp/verair# ls
IrpProtocols.html                                  IrpTransmogrifier-1.2.8.jar                        irp-protocols.xsd
IrpProtocols.xml                                   IrpTransmogrifier-master                           irptransmogrifier.bat
IrpProtocols2html.xsl                              IrpTransmogrifier.html                             irptransmogrifier.sh
IrpTransmogrifier                                  IrpTransmogrifier.xml                              master
IrpTransmogrifier-1.2.8-bin.zip                    LICENSE                                            repo.tar.gz
IrpTransmogrifier-1.2.8-jar-with-dependencies.jar  README.md

root@MiOS_5247999:/tmp/verair# chmod +x irptransmogrifier.sh

root@MiOS_5247999:/tmp/verair# ./irptransmogrifier.sh
./irptransmogrifier.sh: exec: line 15: java: not found

root@MiOS_5247999:/tmp/verair
bengtmartensson commented 4 years ago

A Java program requires a Java virtual machine (JVM, "Java runtime environment") to run.

There may, or may not, be a minimalistic "headless Java" available for your platform, which may suffice.

nodecentral commented 4 years ago

I’ve been looking around, and JsmVM is maybe a possibility -> https://github.com/xranby/jamvm

Are you aware of that one, maybe even used it before ?

FYI - I’m trying to see if I can get IrpTransmogrifier running on the VeraPlus - the specification of which is listed here -> http://wiki.micasaverde.com/index.php/Comparison_of_Vera_units

bengtmartensson commented 4 years ago

For a home automation server, it may be a better idea to use per-rendered signals instead of invoking rendering. After all, you probably have at most a few hundred signals.

Installing Java is an off-topic issue here.

Ok to close?

nodecentral commented 4 years ago

Hi,

It would be awesome to avoid the overhead of IrpTransmogrifier on this device, but how best can I extract all the ‘power’ signals in a pre-rendered state for Pronto.

The irbank api does not seem to support retrieving pre-rendered , and I’d need to retrieve them in e.g in a table, so I could systematically work through them and record success or not ?

On 8 Oct 2020, at 07:30, Bengt Martensson notifications@github.com wrote:



For a home automation server, it may be a better idea to use per-rendered signals instead of invoking rendering. After all, you probably have at most a few hundred signals.

Installing Java is an off-topic issue here.

Ok to close?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHubhttps://github.com/bengtmartensson/IrpTransmogrifier/issues/192#issuecomment-705360897, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ABBF23D7DD4MLMYROT6AEI3SJVL65ANCNFSM4SCFLIPA.

bengtmartensson commented 4 years ago

Let me suggest that you write a script, in Lua or another script language, that generates a CSV file, one line per signal, containing the name (that you want to refer to the signal by), its protoco, and the D, S, and F parameters. Then you import that file in IrScrutinizer (which is basically IrpTransmogrifier with a GUI), and export it in a format you like, Pronto or anything else that your sender can handle.

nodecentral commented 4 years ago

Hi,

Thanks, I’ve got irscrutiniser up and running on a Windows PC (vm), but I’m not 100%sure of the best export settings. Is it.

Set up - IMPORT Tab .. Select - Import text/csv Select - Paramitized tab Enter - ‘all_ir_power_codes_raw.csv’ file via File/URL Select - Import all/param option

~ The .csv file contents are = Power_7.7csv,NECx2,7,7,2 ~ I’ve included the file name to help me trace back to the source.

Set up - EXPORT tab Select - Export format = ????? Select - Pronto HEX

What is the best format for my needs?

I guess in an ideal state it would be to create a simple Lua table / array or maybe a json file, that could be worked through in order. Actually is there the ability to create a custom output? Maybe a templated format, as in the end I’ll need to get each convert code placed in a Lua command format like this...

luup.call_action('urn:a-lurker-com:serviceId:IrTransmitter1', 'SendProntoCode', {ProntoCode = '0000 006d 0022 0003 00a9 00a8 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 003f 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 003f 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0015 0040 0015 0015 0015 003f 0015 003f 0015 003f 0015 003f 0015 003f 0015 003f 0015 0702 00a9 00a8 0015 0015 0015 0e6e'},irdevid)

Set up - SCRUTINISE REMOTE tab Enter - ‘all_ir_power_codes_conveted’ file via File/URL Select - Export

bengtmartensson commented 4 years ago

Since the original problem, as stated in the title, has been solved, I am closing this issue. Open a new issue on IrScrutinizer if necessary.