Haiku The new product

You should probably start a discussion about this outside of the Haiku forum...
 
I'd like to see a supported iOS app as well, thanks for posting up!
 
Why not just setup another thread within cocoontech?  Im not signing up for your forums (although I am interested in your product)
 
Guessing for this to happen mavromatis will need to contact the CT moderators to create a new section under vendors here.
 
Has anyone heard anything from Lupinglade recently?  The new Haiku replacement product (Lux) development was underway with semi-regular updates, and then everything ground to a halt, with no communication from Lupinglade for the last couple of months.
 
I'm glad to see that someone else (Myro:Home) is diving into this arena, but at the same time I think it's a shame to throw out Haiku and Haiku Helper.  I use the scripting pretty extensively in Haiku Helper, so the Myro:Home product doesn't sound like a great fit for me (since it apparently doesn't include a scripting function).  Haiku Helper is still working for me, more or less as designed.  Push notifications still work, but not for all of my iOS devices.  I never figured out why a couple of my iOS devices stopped receiving Push notifications when the rest still worked, but I bought the Growl/Prowl combination and now I've got notifications from Haiku Helper back again (with the caveat that I have to manually re-enable Growl in Haiku Helper after each reboot because it seems to forget this setting each time).
 
I'm wondering if anyone has contacted Lupinglade about finding out if he would be willing to publish Haiku and Haiku Helper as open source?  If the projects got posted on GitHub, in theory we could maintain and advance the platform on our own.  I've always felt that Haiku was a far superior product to Space (with the exception of the lack of RTSP camera support in Haiku, and more recently, the white background), and with a little TLC it seems as if it could be quite functional well into the future.
 
I would even be willing to pony up some $$$ to Lupinglade if that's what it took to get him to release the code as open source.  I'm wondering how many of us might be willing to make a modest investment to get this to happen.  Does anyone on this forum know Lupinglade personally?  Would you be willing to initiate a conversation with him on this topic?  If the Lux product isn't going to happen, I would think he would see it as a positive thing that his Haiku product could continue to live on.
 
What specifically are you doing with Scripting?
 
I can add the same scripting functionality but want to see if there is a better way to handle it.

I have pretty much recreated Haiku Helper even making some improvements... I used the Energy / TED 5000 and felt that was lacking a ton.
 
I wanted it to be familiar and a direct replacement to Haiku Helper given we have flags for weather advisory and energy already setup on our panels, etc.

The Myro:Home iOS app will be a modern interpretation of the Haiku we all know and love as well... with the ability to access your "favorites" on the Apple Watch, I'm not doing the modern Space design approach. Plus, with HomeKit bridge -- you can get that type of UI if you'd like. Using Siri to control your OmniPro devices is pretty neat I must say!

Here are some screen shots:
myro-home-helper-status.png
 
myro-home-connection.png
 
myro-home-helper-energy.png

FYI: Don't worry my energy is not that high -- I'm testing out upper limits to make sure things don't break...

BTW: I already have HomeKit bridging working great -- that's the "HAP" :)

As for the push notifications stopping to work for new devices -- it looks like the server was still running (where we pointed to after the domain was sold) -- I suspect what happened was that the subscription broke a month or so ago, but the devices already subscribed to push was still working.

Also, seems like as of today Push Notifications have stopped working for Haiku helper altogether?  -- I'm getting a certificate expired error in the log... anyone else? I've already migrated to Myro:Home for my testing so not all is lost for me...
 
I'd like to create a thread -- perhaps the moderator can move this?  I'm already setup as a "manufacturers" account...
 
I'm certainly interested in beta testing the Myro:Home solution with Omnipro II + OmniBus on iOS & Apple Watch. I did try and sign up on the forum but the captcha is impossible to see and the listen to just doesn't work so I've given up for now but pm me if your interested. 
 
I use the scripting to alert obviously on consoles. Also I use scripting to suck down my event log two times a day and email it to me.  Those are the biggest - most important things I do.  The logging is something that can't be replicated within the Omni natively.
 
I monitor temperature and if it exceeds a certain difference from the setpoint it will email me.
 
I use prolink messages as I have two Omni's connected so I can alert between the two as well.
 
Thats really it for now!
 
Thanks!

Neil
 
2MuchTech said:
Has anyone heard anything from Lupinglade recently?  The new Haiku replacement product (Lux) development was underway with semi-regular updates, and then everything ground to a halt, with no communication from Lupinglade for the last couple of months.
 
I've wondered about his stance on the Haiku source as well. Maybe others would be interested.
 
I offered to buy the source and he wanted just too much to warrant it for my purposes. Its been radio silence. Usually he is helpful when the push stopped working but I dispect they ended that relationship to host the push service. What. A shame. I would try to replicate at home if we had a service but seems unlikely as well. Perhaps Im wrong but hai is a dying breed that I am still fully committted to despite the lack of ongoing development and iOS apps to make the system very useful.
 
What specifically are you doing with Scripting?
 
I would say the Javascript Bridge was one of Haiku Helper's greatest achievements.  Just about every aspect of the OmniPro is scriptable as well as providing some limited integration abilities with other ip/http devices.  (Amazon Alexa / ha-bridge depends on it right now too)
 
Some of my code examples- (I'm no javascript expert btw so please excuse any noob coding grammar)  To all- feel free to copy + reuse if it helps in your setup.  I can pm the complete script too as these are just snippets.
 
Logging, logging and more logging
 

// Zone Not Ready Function

function onZoneNotReady(zone) {
var ds = dateStamp();
if (zone.number == 58) {
helper.logToExternalFile('Driveway.log', ds + " - " + zone.bestDescription + " Sensor Tripped");
helper.sendNotification(controller, " Vehicle Detected in Driveway");
} else if (zone.number == 24) {
helper.logToExternalFile('Leak.log', ds + " - " + zone.bestDescription + " Sensor Tripped");
helper.sendNotification(controller, " Leak Detected in Basement");
} else if (zone.kind == 1) {
helper.logToExternalFile('Window.log', ds + " - " + zone.bestDescription + " Open");
zState();
}
}


 
Lighting Macro Buttons (saves lots of code in PC-Access and allows me to define custom buttons).  This is only one piece of the switch statement.
 

function onButtonActivate(button) {
var ds = dateStamp();
switch (button.name) {
case 'Main OFF':
helper.logToExternalFile('Lighting.log', ds + " - " + " [ Main Lighting Off ]");
var iUnits = Array(2,4,7,8,10,11,12,13,14,15,16,18);
for (var i = 0, l = iUnits.length; i < l ; i++) {
var n = iUnits;
var intLight = controller.unitWithNumber(n);
if (intLight.isOn == true) {
helper.logToExternalFile('Lighting.log', ds + " - " + intLight.bestDescription + " On, Turning it Off");
intLight.off()
}
}
break;


 
Some code to talk to an Autellis Jandy Pool Controller
 

function onSocketBytesAvailable(socket) {
var ds = dateStamp();
var ares = socket.read();
helper.logToExternalFile('Pool.log', ds + " - " + "Autelis Response: " + ares + '');
socket.close();
poolVar(ares);
}


function eqToggle(device) {
var socket = helper.openSocket(controller, '192.168.5.8', 6000);
socket.write('#' + device + '\r');
}


function eqControl(device, command) {
var socket = helper.openSocket(controller, '192.168.5.8', 6000);
socket.write('#' + device + '=' + command + '\r');
}


function getHeater() {
var ds = dateStamp();
var xhr = new XMLHttpRequest();
var url = 'http://192.168.5.8/status.xml';
xhr.open('GET', url, true, 'username', 'password');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var res = xhr.responseText;
var etag = res.match(new RegExp('<' + 'poolht' + '>(.+?)', 'g'));
var estat = etag.toString().replace(/<.*?>/, "");
if (estat == '1') {
helper.logToExternalFile('Pool.log', ds + " - " + "Device Heater: Enabled" + '\r\n');
} else if (estat =='2') {
helper.logToExternalFile('Pool.log', ds + " - " + "Device Heater: On" + '\r\n');
} else if (estat =='0') {
helper.logToExternalFile('Pool.log', ds + " - " + "Device Heater: Off" + '\r\n');
}
}
}
}
xhr.send(null);
}


function setEquip(device, state) {
var xhr = new XMLHttpRequest();
var url = 'http://192.168.5.8/set.cgi?name=' + device + '&value=' + state;
xhr.open('GET', url, true, 'username', 'password');
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var res = xhr.responseText;
var ds = dateStamp();
helper.logToExternalFile('Pool.log', ds + " - " + "Autelis Response: " + res + '\r\n');
}
}
}
xhr.send(null);
}

 
Integration with OSX Indigo Domotics
 

// Execute Indigo Action Group function

function exeAct(actgroup) {
var xhr = new XMLHttpRequest();
var ac1flag = controller.unitWithNumber(439);
var ac2flag = controller.unitWithNumber(440);
switch (actgroup) {
case 'AC1on':
var agName = 'AC1%20Startup';
var url = "http://127.0.0.1:8176/actions/" + agName + "?_method=execute";
ac1flag.on();
break;
case 'AC1off':
var agName = 'AC1%20Shutdown';
var url = "http://127.0.0.1:8176/actions/" + agName + "?_method=execute";
ac1flag.off();
break;
case 'AC2on':
var agName = 'AC2%20Startup';
var url = "http://127.0.0.1:8176/actions/" + agName + "?_method=execute";
ac2flag.on();
break;
case 'AC2off':
var agName = 'AC2%20Shutdown';
var url = "http://127.0.0.1:8176/actions/" + agName + "?_method=execute";
ac2flag.off();
break;
default:
break;
}

xhr.open("GET", url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState !=4) { return; }
if (xhr.status != 200) {
helper.logToExternalFile('Indigo.log', ds + " - " + "Update error: " + xhr.status);
return;
}
}
xhr.send();
//console.log(xhr.status);
}

 
So yes, for me scripting is a super feature and I would definitely miss it in a new product.
 
Happy New Year!
 
Made lots of progress over the holiday break -- squashed lots of bug too.
 
Push notifications (with custom messaging) and data logging are both complete.   
 
Push Notifications allow for triggering based on zone type (e.g. Zone: Not Ready, Secure, Bypassed) and you can set a custom text string for each.
 
Data logging of any controller object (you enable) to CSV for now — allows for tracking temp changes or zone usage.  Will use that data for ML in the future. 
 
Here is a sneak peek of HomeKit working -- you select the objects you want enabled as HomeKit accessories.
 
Forum updates: Re: Myro:Home / Myro:Home Helper for iOS / MacOS
 
(P.S.  I'd like to have our own thread here... any moderators?)
 
YouTube Video Showing HomeKit functionality -- you can select which objects to expose, the type of object for HAP, even set custom name used for HAP:
https://youtu.be/mlTiMZPtH6k
 
 
 
Back
Top