[RELEASE] Tasmota for HE - Auto-detecting Tasmota drivers + Tasmota firmware 7.x/8.x for HE (for use with Tuya, Sonoff and other ESP devices)

Got it, can you send me this piston? Here the AC brand is Springer Midea, which uses the Coolix protocol from RHVAC, I don't know yet how I'm going to adjust it.

And for television commands, how are you using it?

Does not look like that is supported yet by tasmota
https://tasmota.github.io/docs/Tasmota-IR/

You could make an IR receiver and capture all your codes then creat your webcore piston

This is the post I used to make my IR Blaster and get my setup working

From this I was able to setup webcore with my http get request to trigger the IR commands

1 Like

I'm using Tuya IR Bridge UFO-01 with tasmota, in Smartthings in the Tasmota Connect App I can create a virtual air conditioner that supports the Coolix brand that can control my Springer Midea air conditioner.
https://raw.githubusercontent.com/hongtat/tasmota-connect/master/devicetypes/hongtat/tasmota-virtual-air-conditioner.src/tasmota-virtual-air-conditioner.groovy
I was wondering how to write the code to command to send to the IR Tuya on WebCore. In Smartthings I wrote this way:
IRsend \ {"Protocol": "COOLIX", "Bits": 24, "Data": "0xB2BF00", "DataLSB": "0x4DFD00", "Repeat": 0, "IRHVAC": {"Vendor": "COOLIX "," Model ": - 1," Power ":" On "," Mode ":" Cool "," Celsius ":" On "," Temp ": 17," FanSpeed ​​":" Auto "," SwingV " : "Off", "SwingH": "Off", "Quiet": "Off", "Turbo": "Off", "Econo": "Off", "Light": "Off", "Filter": " Off "," Clean ":" Off "," Beep ":" Off "," Sleep ": - 1} }
But here at Hubitat I see that you do it via http ??? how do i write?

here is the code i am using. I found that i had to encode all of my special characters to make it work
{urlencode{@LRIR}{@Heat}{HTemp}{Cl}}

@LRIR = http://192.168.1.61 - Address of IR Blaster
@Heat = /cm?cmnd=IRHVAC%20%7B%22Vendor%22:%22Mitsubishi_AC%22,%20%22Power%22:%20%221%22,%22Mode%22:%20%22heat%22,%20%22FanSpeed%22:%20%22Auto%22,%20%22Celsius%22:%20%22Off%22,%20%22Temp%22:%20%22%HTemp%%22%7D
HTemp = Virtual Thermastat Temp
Cl = %22%7D


1 Like

@markus look I'll admit that I am being lazy by just asking, rather than trying... So please tell me to stop being so lazy and give it a go if this isnt a straightforward answer for you. But I'm a little outside my depth being a novice to tasmota so this will take some effort for me to understand.

Edit:
I don't see the options for max31855 in the configuration screen of tasmota so this is something new to me. Is it not included in this firmware?

However it seems that tasmota has support for my max31855 thermocouple board for the esp8266 (see link below). I have incorporated that into some arduino ide code before so the wiring up part I'm reasonably confident with.

However the part I am not so confident in is with getting the temperature value into hubitat. I have only used the usual switches and relays for tasmota who's states are easily read in hubitat with the child devices for those types/states. Would this work the same and come up as a temperature device? Or do I need to read the console messages which is something new to me.

Please @davidandjoyrichard , can you share the code of this piston to me ?
I'm trying to do it but I'm not getting it. Just go to share anonymized photo

In Smartthings my piston was like this and it worked perfectly

Great News! this is a very simple fix. I had the same problem with my code. take your code from Webcor for ST and import into Webcor for Habitat. once you do that then go in and change all of your spaces and other characters using this table. once you do that it will work just as it did on ST. I had to update my code because I had the same problem. let me know if you have any questions.

my Code was like your your and I had to update it to the following. see how there are no spaces instead it is %20 so for ('IRsend{"Protocol" : "SONY" , "Bits" :32, "Data" : "0xE17A609F"}')
it would instead be

('IRsend%5C%7B %22Protocol%22%20:%20%22SONY%22%20%2C%20%22Bits%22%20:32%2C%20%22Data%22%20:%20%220xE17A609F%22%5C%7D%22)

or my code below.

cmnd=IRHVAC%20%7B%22Vendor%22:%22Mitsubishi_AC%22,%20%22Power%22:%20%221%22,%22Mode%22:%20%22heat%22,%20%22FanSpeed%22:%20%22Auto%22,%20%22Celsius%22:%20%22Off%22,%20%22Temp%22:%20%22%HTemp%%22%7D
HTemp = Virtual Thermastat Temp
Cl = %22%7D

1 Like

I've already managed to make the code work in chrome, but I'm not able to write the WebCORE code. I've tried in every possible way.
Where did you define the
@LRIR
@CTemp
@AC
@urlencode

This code here is working in chrome
http://192.168.86.53/cm?cmnd=IrSend+{"Protocol"%3A"COOLIX"%2C"Bits"%3A24%2C"Data"%3A"0xB2BF00"%2C"DataLSB"%3A"0x4DFD00"%2C"Repeat"%3A0%2C"IRHVAC"%3A{"Vendor"%3A"COOLIX"%2C"Model"%3A-1%2C"Power"%3A"On"%2C"Mode"%3A"Cool"%2C"Celsius"%3A"On"%2C"Temp"%3A17%2C"FanSpeed"%3A"Auto"%2C"SwingV”%3A”Off%2C”SwingH"%3A"Off"%2C"Quiet"%3A"Off"%2C"Turbo"%3A"Off"%2C"Econo"%3A"Off"%2C"Light"%3A"Off"%2C"Filter"%3A"Off"%2C"Clean"%3A"Off"%2C"Beep"%3A"Off"%2C"Sleep"%3A-1}}

Hi everyone, I'm aware of the many posts in here I should answer to, my computer (yes I only have one since I've resisted to get multiple ones, I'm not going to resist that anymore) broke down recently and I'm waiting for a new one to arrive, maybe tomorrow or the day after.

In the mean time I want to say that there is a command in the Parent Tasmota driver which can be used to send arbitrary Tasmota commands without having to deal with encoding the strings. The command is "sendCommand" It takes to arguments, the Tasmota command and then all the parameters of that command. No special formatting needed, just send them as you would write them in the Tasmota console.

I will update and write more replies when I have my new computer, for now I can just use my computer for a short period (or very low load) before it crashes.

3 Likes

@LRIR - is a global variable and it is
string@LRIR http://192.168.1.x
@CTemp - is the a local variable and is the virtual thermostat cooling setpoint
@HTemp is a local variable and is the virtual thermostat heating setpoint
@AC is a global variable
dynamic @AC/cm?cmnd=IRHVAC%20%7B%22Vendor%22:%22Mitsubishi_AC%22,%20%22Power%22:%20%221%22,%22Mode%22:%20%22Cool%22,%20%22FanSpeed%22:%20%22Auto%22,%20%22Celsius%22:%20%22Off%22,%20%22Temp%22:%20%22
@Heat is a global variable
dynamic @Heat/cm?cmnd=IRHVAC%20%7B%22Vendor%22:%22Mitsubishi_AC%22,%20%22Power%22:%20%221%22,%22Mode%22:%20%22heat%22,%20%22FanS
urlencode is used to wrap the statement not a variable

1 Like

Sorry about your computer that sucks. Sorry if I am getting your thread way off base with this.

1 Like

Hi Markus, hope you have sorted you computer now. Massive thanks for your system. I have this all working in that I can send IR commands using the command in the parent app that work correctly on the device. What I can’t work out is how I send those commands from rule machine. Sorry to be an idiot!

Would it be a custom attribute for that device under rule machine, similar to how 'Echo Speaks' does things like say a good morning phrase? If it is that, its not obvious, I would look there.

This is the limit of my knowledge really. I think that (and I am probably wrong) that the tasmota device needs to have a custom capability created that allows you to send it the commands. The standard Hubitat capabilities do not include this so you cannot create a custom action in rule machine as there is no way to send this to the device. I 'think' this means that the Tasmota device needs an additional capability added to enable that. I dont believe you can add that action in rule machine, it has to be presented by the device driver to rule machine? SInce this would mean I have to modify that driver (I looked at it and its really, really, scary) and I have no idea how I was hoping Markus could help.

I now have my new computer, working on catching up, this is how you would do it in RM:

1 Like

Perfect

Thank you so much. Works Perfectly.

I had not looked at the presence capability which is why I could not find it. In case anyone follows this thread you simply enter the Tasmota command, in my case

IrSend, {"Protocol":"SONY","Bits":15,"Data":"0x540C","DataLSB":"0x2A30","Repeat":0}

I guess that it would be possible in the future to create a more comprehensive IR device using these tools so that you could set the IR commands in the device and then have more meaningfull options.

This sorts me out anyway :slight_smile:

Many thanks

David

1 Like

I’m up to 26 tasmota-he devices now, converted my h801 RGBW controllers last night via serial. Got eight more wall switches (already flashed) but not yet installed, that’s coming soon!

I'm still a little lost how to get the Max31855 into tasmota. I've found out how to add my mirabella genio power packs template into tasmota.. But I'm lost with the max31855 which in the link above there is somehow a away to assign 3 pins for max31855, of which I can't see max31855 in the pin drop down menu.. Is this because it's not included in the firmware? Or is there a way to add those options? I'll post this on tasmota forums somewhere but thought I'd try here first seeing I'm part of this community

Edit: Seems the max31855 has components that may not be included in this firmware?? Copied from components section of tasmota

119 MX31855 CS MAX31855 Thermocouple Sensor Chip Select pin
120 MX31855 CLK MAX31855 Thermocouple Sensor Serial Clock pin
121 MX31855 DO MAX31855 Thermocouple Sensor Digital Output pin

Well it seems after much reading and confusion... I have remembered there were mutliple firmwares available..

So a flash of the sensors firmware shows the max31855 components now yay. Had to flash the .gz file but I got there.

Now time to hook it all up... eventually as the family seem keen to get out and enjoy the sun.

Edit: I snuck it in before we head out.. I now have a tasmota wemos d1 mini hooked up to a max31855 thermocouple that is recording temperature. Will use this for my smoker temperature and operate a fan to change temperatures (fuel based smoker so needs air to increase temperature) using rule machine. I could have used arduino ide to create this but I like the idea of moving everything over to hubitat where it doesn't require precise timing

1 Like

OK I spoke too soon. The temperature is reporting in the tasmota page, and in hubitat the child device is found no problems after adding the parent.

But I never see the temperature reported as a variable in the device page. I get the following error in the log

dev:15832020-10-11 10:04:45.342 am errorgroovy.lang.MissingMethodException: No signature of method: user_driver_tasmota_Tasmota___Universal_Multi_Sensor__Child__1025.on() is applicable for argument types: () values: [] Possible solutions: run(), run(), any(), is(java.lang.Object), any(groovy.lang.Closure), run(java.io.File, [Ljava.lang.String;) on line 218 (toggle)

1 Like