ELV Max! Heating control system

For heating/cooling related questions in Domoticz

Moderator: leecollings

DomotRikz
Posts: 6
Joined: Sunday 26 July 2015 10:45
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: ELV Max! Heating control system

Post by DomotRikz »

Hi Kevin,

I am running MaxBuddy on a Raspberry Pi, but I am having issues with the JSON interface with Domoticz. Besides that, I don't like the fact that there is no support on and documentation about MaxBuddy, as I would like to implement bidirectional communication (changing room setpoints using Domoticz).

Would be great if you could dive into this! Please keep us up to date.
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

Hi Kevin,
good question ref. Maxbuddy on the pi. I run mine headless so there is no GUI at all. The Domoticz.js picks up all the readings and sends them (I think) as json posts to Domoticz to see as devices.

Having said that, if time (and wife) allows, this weekend I'll plug my heating-pi into the tv and run the maxbuddy.sh instead of headless.sh and see what happens.

I REALLY hope you can pull some code together as a fully domoticzified heating system is my dream... well that and an Aston Martin :lol:
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
Meza
Posts: 18
Joined: Friday 25 December 2015 9:18
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: ELV Max! Heating control system

Post by Meza »

Image

Delivery from elv.de today!

Got a bit of a project ahead of me now.

Sent from my PLK-L01 using Tapatalk
User avatar
l0gic
Posts: 107
Joined: Tuesday 08 October 2013 9:35
Target OS: Linux
Domoticz version: Latest
Contact:

Re: ELV Max! Heating control system

Post by l0gic »

OK, been thinking a bit more about this.
If I could get a web service running that throws up some pages it should allow for configuration and information display irrespective of OS.
So that is what I'll be looking at tonight.

I know I can set up bi-directional control as I have set up a dummy switch in Domoticz that is monitored by a MaxBuddy switch which sets all Radiator valves to override. This allows me to open all the rads up when I have my woodburner running.

All the best

Kevin
Non credus crepitus
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

That sounds excellent!
Bi-directional control would make you a hero to millions! (well at least two :lol: )
But in seriousness, this is the kind of functionality breakthrough that Domoticz needs. Proper, usable, practical stuff.

I can't code to save my life, but I'm the king of "copy & paste", so any testing help etc. I can offer... just say the word :D

Sean
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
Skippiemanz
Posts: 230
Joined: Sunday 14 July 2013 20:21
Target OS: Linux
Domoticz version: 4.10233
Location: Alkmaar, The Netherlands
Contact:

Re: ELV Max! Heating control system

Post by Skippiemanz »

Image Kevin could this be of any help to you?

I have a small php script here. Don't remember it's origin but might help you!
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
Skippiemanz
Posts: 230
Joined: Sunday 14 July 2013 20:21
Target OS: Linux
Domoticz version: 4.10233
Location: Alkmaar, The Netherlands
Contact:

Re: ELV Max! Heating control system

Post by Skippiemanz »

I Also found this online: http://www.dmitry-kazakov.de/ada/max_ho ... mation.htm.

It can also act as a server witch can handel get requests etc. Looks promising.

Also here is the web package i mentioned earlier. http://we.tl/qWTH7G1hQC
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
User avatar
l0gic
Posts: 107
Joined: Tuesday 08 October 2013 9:35
Target OS: Linux
Domoticz version: Latest
Contact:

Re: ELV Max! Heating control system

Post by l0gic »

Guys,
I've spent the weekend looking a various C++ libraries for setting up web services.
Wow! Nightmare :)

Not sure I have a decent way forward yet, some are very elaborate and look like they may bring challenges down the line when cross compiling.
Still, leave it with me and don't expect anything too soon :)

Anyway, I've just realised that I'd coded up a bit of bi-directional code without sharing it.
The code below monitors a Domoticz dummy switch and overrides all the radiators when the switch is on.
May help someone.
I use it to drive all the radiators to ON when using my woodburner and the hot water tank is full of hot water.
Prevents overheating the water.

Code: Select all



     
     /*
  V0.1.10, 14/09/2015 - MAX!Buddy Script: Check for Domoticz virtual switch being operated and force all radiators on and send a warning eMail
  The Domoticz ID for the 'Override Radiators ON' virtual switch is 168 - will be different for each system
  
  **** WARNING - relies on the correct Date / Time being held on the Cube (worth checking)
  **** there can be errors if you are using in a non German country due to the time difference
  **** I've added a Time Difference variable to help keep the times in sync.
  
  Uses a file written to disc to record the last time the On command was sent to the cube.
  Too many commands sent in an hour will prevent subsequent commands being sent.
  
*/



function getInfo(info) {
info.name = 'Domoticz Radiator Override v2.0';
info.description = 'Open all radiators when the monitored Domoticz switch is ON';
info.interval = 300;     // 300 (5 mins)
}

//  Declare variables

  var IP = '192.168.1.14';         	 	// IP address of Domoticz 
  var Port = '8080';               		// Port of Domoticz
  var domoticzID = 168; 				// ID of Domoticz switch called 'Override Radiators ON' that will be monitored for change 
  var domoticzSwitch = 0;				// State of monitored Domoticz switch 0 = OFF 1 = ON
  var TimeDifference = 0; 				// Minutes time value that can be used to match cube time with local time in case they are different
  var boostDuration  = 240; 			// Boost duration in minutes
  var debuglevel = 2;					// 1 or 2 possible 1 = Send operation messages via email  2 = additionally write to file "/Users/<USER>/AppData/Roaming/MAXBuddy/logs/ScriptLogs/DomoticzRadiatorOverride.log"
  var URLReturn = "";					// holds response from the JSON call to Domoticz (long string)
  var URLChop ="";						// holds the useful data from URLReturn
  var rooms = 0;						// rooms value



// write out log information
function debug_(str){ 
   var file = java.io.File("/Users/Kevin/AppData/Roaming/MAXBuddy/logs/ScriptLogs/DomoticzRadiatorOverride.log");
   var datumlog = new Date;
   logDate   = datumlog.toLocaleString();
   str = logDate +" | "+ str;
   Packages.org.apache.commons.io.FileUtils.write(file, str+"\r\n",null,true);
   debug(str); }
   
// Manipulate the file that holds the last updated value (held as epoch time - mS since 1970 unix time)   
 function timeFile(rw,timeValue){ 
	var file = java.io.File("/Users/Kevin/AppData/Roaming/MAXBuddy/logs/ScriptLogs/DomoticzRadiatorOverride.time");
	
	if (rw=="r") {  //read the file
		var fileTime = Packages.org.apache.commons.io.FileUtils.readFileToString(file, "UTF-8");
		return fileTime;
	}
	
	if (rw=="w") {  //write to the file	
	timeValueS = timeValue.toString();
   Packages.org.apache.commons.io.FileUtils.write(file, timeValueS,null,false);
	}

  }

// perform the JSON get action to interigate the Domoticz web server and return the data string 
function getJSON(RID, Type) {
if (Type == 1) {
URLString = 'http://'+IP+':'+Port+ '/json.htm?type=devices&rid='+RID;
} else {
URLString = 'http://'+IP+':'+Port+ '/json.htm?type=command&param=getuservariable&idx='+RID;
}

var url = new URL( URLString),
outputStream,
out;

URLconnection = url.openConnection();
URLconnection.setRequestMethod('GET');
URLconnection.setReadTimeout(5000);
URLconnection.setDoOutput(true);
URLconnection.setRequestProperty('Content-type', 'application/json');

inputstream = URLconnection.getInputStream();
instream = new InputStreamReader(inputstream);
inbuffer = new BufferedReader(instream);
response = new StringBuffer();

while ((inputLine = inbuffer.readLine()) != null) {
		response.append(inputLine);
		}
inbuffer.close();

//print result
//debug(response.toString());

RespStr=response.toString();
RespStr=RespStr.replace(' ','');

return RespStr
}

// Seperate the switch state information from the returned URL string
function GetField (RawData, Field) {
Datalength=Field.length
DataIndex=RawData.indexOf('"'+Field+'"')
Param=RawData.substring(DataIndex+Datalength+3,RawData.indexOf(',',DataIndex+7));

return Param
}

var states = new Array();

// Send email
function notify(EmailTitle, text) {

  buddy.sendEmail(
    "mail.server.com", 		// SMTP Server
    "[email protected]", 			// SMTP Account
    "password", 				// SMTP Password
    "[email protected]", 	// From address
    "[email protected]",		// To address
     EmailTitle, //"Email Title",
     text // "Email body text"
    );
}

// Polls cube for all Radiators and turns them on until boostStop time
function TurnRadiatorsOn(boostStop) {
	
	rooms = connection.getLastState().getRooms();
			  for  (var i = 0; i < rooms.size(); i++ ) {
				var room = rooms.get(i); 
				var devices = room.getDevices();
				var RoomID = room.getId();
				
				for ( var j = 0; j < devices.size(); j++ ) {
				   var device = devices.get(j);
				   var devicename = device.getName()	  
				
				   if( "HeatingThermostat" == device.getDeviceType() ) {
					   
						if (debuglevel >1) {							
							var devicename = device.getName();
							var DeviceTemp= device.getState().getMeasuredTemperature();					
							debug_("             "+devicename+" Temp: "+DeviceTemp+" C  (RoomID:"+RoomID+") Radiator overriddden to "+boostStop);
						}
						
						buddy.setRoomMode(RoomID, "TEMPORARY", new Array("EIN", boostStop.getTime()) ); // Opens the valve in Temporary mode until boostStop expiry time
					}					
			   }
			  }
					if (debuglevel >0) {
					var status= "The Domoticz Heating Override switch has been operated. Boosting all radiators On for "+boostDuration+" Minutes.";	
					notify("Woodburner heating overide started", status);
					}
					if (debuglevel >1) debug_("        Email sent");
	
}  

 

function run() {
  // set up http requirements
	URL = java.net.URL,
	InputStreamReader = java.io.InputStreamReader,
	BufferedReader = java.io.BufferedReader,
	StringBuffer = java.lang.StringBuffer;

  var now = new Date(); // comes from PC so may not agree with cube time that seems to work in German time
  boostDuration = boostDuration + TimeDifference; // add difference between PC and German time
  var boostStop = new Date(now.getTime() + boostDuration * 60000);
 
// Call Domoticz and get the state of the monitored switch 
 URLReturn = getJSON(domoticzID, 1);
 URLChop = GetField(URLReturn,"Status");
 
  if (URLChop =='"On"') domoticzSwitch = 1;
 
 /*
 if (debuglevel >1) {
	 debug_("             Domoticz switch state is: "+URLChop);
	 debug_("             domoticzSwitch value is: "+domoticzSwitch);
 }
 */
 
  var oldTime = timeFile("r","");      // get the last Radiator on time
  var nowTime = Date.now();            // get current time (epoch)
  var checkDelay = boostDuration - 6;  // only re run the radiator process 6 minutes (script run time plus one minute) before the end of the "On" period 
  checkDelay = checkDelay * 60 * 1000  // comvert to milliseconds
  
  //debug_("checkDelay value in Ms is: "+checkDelay); 
  //debug_("nowTime value in Ms is: "+nowTime);
  //debug_("oldTime value is: "+oldTime);
 
 
 if (domoticzSwitch > 0 ) {  // Let's go, the Domoticz switch is on
 
	   if (debuglevel >1) { // print the header to the log file
	  debug_( "");
	  debug_( "--------------------------------------------------");
	  debug_( " Information:");
	  debug_( "             Boost stop time: "+boostStop);
	  debug_( "             Boost Duration: "+(boostDuration - TimeDifference)+" Min.");
	  //debug_( " ");
	  }
 
	radDifference = nowTime - parseInt(oldTime);
	
	
	if (radDifference > checkDelay){ // Have we checked within the checkDelay time?
	 // nope, we need the send an On signal to the radiators
		TurnRadiatorsOn(boostStop);
		timeFile("w",nowTime); // update the last time the radiators were switched On
	}else{  // too early to resend the Cube a command 
		if (debuglevel >1) {
			 debug_("             On Signal already sent to Radiators "+Math.ceil(radDifference / 60 / 1000)+ " minutes ago.");
		}
	}		  
 }  // end of domoticzSwitch 
} //end of run









To further atone for my ommisions, here is a script (found on the net somewhere) I run once a day to check battery state and email issues.

Code: Select all



// Adjust this function as necessary:
function notify(body) {
   buddy.sendEmail(
   // !!!!!
   // Adjust these values as necessary:
   // !!!!!
    "mail.server.com", 		// SMTP Server
    "[email protected]", 			// SMTP Account
    "password", 				// SMTP Password
    "[email protected]", 	// From address
    "[email protected]",		// To address
   //------------------------------------------------------------------------//
   "Max!Cube Error", //"TITLE OF EMAIL",
   //"room:   " + room + "\u000a" + "Device: " + device.getName() + "\u000a" + "Status: " + status // "CONTENT OF EMAIL"
   body
   );
}

function getDateTime() {
    var now     = new Date(); 
    var year    = now.getFullYear();
    var month   = now.getMonth()+1; 
    var day     = now.getDate();
    var hour    = now.getHours();
    var minute  = now.getMinutes();
    var second  = now.getSeconds(); 
    if(month.toString().length == 1) {
        var month = '0'+month;
    }
    if(day.toString().length == 1) {
        var day = '0'+day;
    }   
    if(hour.toString().length == 1) {
        var hour = '0'+hour;
    }
    if(minute.toString().length == 1) {
        var minute = '0'+minute;
    }
    if(second.toString().length == 1) {
        var second = '0'+second;
    }   
    // var dateTime = year+'/'+month+'/'+day+' '+hour+':'+minute+':'+second;   
	var dateTime = day+'/'+month+'/'+year+' '+hour+':'+minute+':'+second;
     return dateTime;
}


function debug_(str)
 { 
   var file = java.io.File("/Users/Kevin/AppData/Roaming/MAXBuddy/logs/ScriptLogs/BatteryAndRadio.log");
   str = getDateTime() +" - "+ str;   
   Packages.org.apache.commons.io.FileUtils.write(file, str+"\r\n",null,true);
   debug(str); 
 }



function getInfo(info) {
   // Display Name in the MAX ! Buddy settings
   info.name = "eMail if battery is low or radio contact is lost";
   // Description of the script
   info.description = "Sends an email when the battery of an appliance ( wall thermostat , window contact or heater thermostat ) is low or radio contact is broken. - V0.1.0   Runs every 8 hours";
   // Execution interval of the script : Every 8 hours
   info.interval = 28800; //28800
}

var states = new Array();

function run() {

   var debuglevel = 1;   // 1 or 2 possible 1 = Send error messages via email  2 = additoinally write to file "/Users/Kevin/AppData/Roaming/MAXBuddy/logs/BatteryAndRadio.log"
   var body = "";
   var fail = 0;
   
   if (debuglevel > 1) debug_("--------------------------------------")
   body = body + "--------------------------------------\u000a";

   var rooms = connection.getLastState().getRooms();
   for  (var i = 0; i < rooms.size(); i++ ) {

      var room = rooms.get(i);
      var devices = room.getDevices();
      var room = room.getName();
      if (debuglevel > 1) debug_("  Room:  " + room);
      body = body + "  Room:  " + room + "\u000a";
      for ( var j = 0; j < devices.size(); j++ ) {

         var device = devices.get(j);
         var devicename = device.getName()
	   if (debuglevel > 1) debug_("       " + devicename + ":");
         body = body + "       " + devicename + "\u000a";
	  
	   //Verification of the wall thermostats
	   if( "WallMountedThermostat" == device.getDeviceType() ) {
            
            var batteryState = device.getState().isBatteryLow();
	  	if(batteryState == true  ) {
               if (debuglevel > 1) debug_("           Battery is low!");
               fail = 1;
               body = body + "           Battery is low!\u000a";
		} else if(batteryState == false ) {
               if (debuglevel > 1) debug_("           Battery ok");
               body = body + "           Battery ok\u000a";
		}
		
            var transmitState = device.getRadioState();
            if(transmitState == "Error") {
               if (debuglevel > 1) debug_("           Lost Radio Contact!");
               fail = 1;
               body = body + "           Lost Radio Contact!\u000a";
            } else if(transmitState == "Ok") {
               if (debuglevel > 1) debug_("           Radio Contact ok");
               body = body + "           Radio Contact ok\u000a";
		}
         //Checking the window contacts
         } else if( "ShutterContact" == device.getDeviceType() ) {

            var devicename = device.getName();
            var batteryState = device.getState().isBatteryLow();
            if(batteryState == true  ) {
               if (debuglevel > 1) debug_("           Battery is low!");
               fail = 1;
               body = body + "           Battery is low!\u000a";
            } else if(batteryState == false ) {
               if (debuglevel > 1) debug_("           Battery ok");
               body = body + "           Battery ok\u000a";
            }

            var transmitState = device.getRadioState();
            if(transmitState == "Error") {
               if (debuglevel > 1) debug_("           Lost Radio Contact!");
               fail = 1;
               body = body + "           Lost Radio Contact!\u000a";
            } else if(transmitState == "Ok") {
               if (debuglevel > 1) debug_("           Radio Contact ok");
               body = body + "           Radio Contact ok\u000a";
            }
	   //Verification of heating thermostats
         } else if( "HeatingThermostat" == device.getDeviceType() ) {

            var devicename = device.getName();
            var batteryState = device.getState().isBatteryLow();
            if(batteryState == true  ) {
               if (debuglevel > 1) debug_("           Battery is low!");
               fail = 1;
               body = body + "           Battery is low!\u000a";
            } else if(batteryState == false ) {
               if (debuglevel > 1) debug_("            Battery ok");
               body = body + "           Battery ok\u000a";
            }

            var transmitState = device.getRadioState();
            if(transmitState == "Error") {
               if (debuglevel > 1) debug_("           Lost Radio Contact!");
               fail = 1;
               body = body + "           Lost Radio Contact!\u000a";
            } else if(transmitState == "Ok") {
               if (debuglevel > 1) debug_("           Radio Contact ok");
               body = body + "           Radio Contact ok\u000a";
		}
            var radState = device.getRadioState();
            if(radState == "Error") {
               if (debuglevel > 1) debug_("           Disturbed radio link!");
               fail = 1;
               body = body + "           Disturbed radio link!\u000a";
            } else if(radState == "Ok") { 
               if (debuglevel > 1) debug_("           Radio Link ok"); 
               body = body + "           Radio Link ok\u000a";
            }
         }
      }
      if (debuglevel > 1) debug_("--------------------------------------")   
      body = body + "--------------------------------------\u000a";
   }
   if(fail != 0) {
      if (debuglevel > 0) debug_("At least one device failed. Sending error mail...");
      notify(body);
   }
}


All the best

Kevin
Non credus crepitus
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

Many thanks Kevin.

Have you seen this?

viewtopic.php?f=34&t=10786

Sean
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
jesperlykke
Posts: 15
Joined: Sunday 25 October 2015 18:57
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: ELV Max! Heating control system

Post by jesperlykke »

thanks Kevin.

Have you seen this?

viewtopic.php?f=34&t=10786

Seante
Hi!...

I am the owner :D of that topic.

The only thing i figured out, is to send commands to my valves, i still search for a way of recieving them through netcat/curl, whatever.
Reason i use netcat/curl, is that i am not interessted in having another server running on my Pi.

I use this program, to catch the strings to send! :: http://www.dmitry-kazakov.de/ada/max_ho ... mation.htm, and when sending a command, from my laptop, i can see the string to netcat into the cube... Actually working quite well.

Example : MAN_BEDROOM_20=s:AARAAAAAEUh2AWg=

One can see, the codes when looking at Dmitry's Trace pane in his program... Very cool

Rgds; Jesper.
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

Hi guys,
I just had to burn a new SD card for my RasPi with Maxbuddy etc on it.
Everything was installed exactly as before (I think) and it appears to work
./headless is producing

Code: Select all

[2016-03-02 10:01:50,217] [DEBUG]: executeScript(Domoticz.js)
[2016-03-02 10:01:50,260] [DEBUG]: Script debug (Domoticz.js): Start run()
[2016-03-02 10:02:20,227] [DEBUG]: executeScript(Domoticz.js)
[2016-03-02 10:02:20,269] [DEBUG]: Script debug (Domoticz.js): Start run()
[2016-03-02 10:02:27,191] [DEBUG]: ConnectionWatchdog:connect()
[2016-03-02 10:02:27,197] [DEBUG]: controller connect...
[2016-03-02 10:02:27,460] [DEBUG]: gateway fetchMaxCubeState()
[2016-03-02 10:02:27,729] [DEBUG]: getRawState().getHeader()
[2016-03-02 10:02:27,744] [DEBUG]: refresh()
[2016-03-02 10:02:27,828] [DEBUG]: updateRadiatorThermostatTemperatures()
[2016-03-02 10:02:27,834] [DEBUG]: updateWallThermostatTemperatures()
[2016-03-02 10:02:27,840] [DEBUG]: controller.cubeState()
[2016-03-02 10:02:27,845] [ INFO]: Connection established, serial: LEQ1281041, fw: 275
[2016-03-02 10:02:27,851] [DEBUG]: updateWallThermostatTemperatures()
[2016-03-02 10:02:27,856] [DEBUG]: updateRadiatorThermostatTemperatures()
[2016-03-02 10:02:27,862] [DEBUG]: disconnect()
which I think is ok (or is it?)
but no information is being sent to Domoticz.
Any ideas?

Sean
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

or... is it seeing my cube, but my cube isn't seeing any devices :shock: :o
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

Yes!
For some reason, while messing around, my cube had dropped all devices.
It was all working away quite happily send "zero" :lol:
Oh well... another lesson learned :roll:
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
jesperlykke
Posts: 15
Joined: Sunday 25 October 2015 18:57
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: ELV Max! Heating control system

Post by jesperlykke »

Evening all :)

I'am still searching, for a way retrieving the codes, which MAX! sends from e.g. the thermostats to the cube and soo.
I can send with netcat commands into the thermostat's, which is working, but still miss the other direction.

Reason i need that, is that i really want domoticz to "writeout" the actual status of the valves, door switches etc...

Rgds; Jesper
Rostikator
Posts: 11
Joined: Thursday 24 March 2016 15:15
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: ELV Max! Heating control system

Post by Rostikator »

Hi

Where I can download maxbuddy files now ?

http://www.maxbuddy.de/ don't run

Bye R
Rpi+Domoticz+EQ3+RFLink
User avatar
blackdog65
Posts: 311
Joined: Tuesday 17 June 2014 18:25
Target OS: Raspberry Pi / ODroid
Domoticz version:
Location: Norfolk, UK
Contact:

Re: ELV Max! Heating control system

Post by blackdog65 »

viewtopic.php?f=34&t=841&start=60#p57149

https://www.dropbox.com/s/cph58qwcqfqiq ... ar.gz?dl=0

Should put you right.

I'd advise reading ALL this thread as some instructions rely on OTHER instructions and some have typos... but all together it's doable ;)

Sean
CubieTruck Master
RasPi slaves
Aeon Labs Z-Stick, multi sensor
Fibaro Dimmers, relays, Universal sensors
EQ3 MAX!
TKB Sockets
RFXCOM
LightwaveRF sockets, switches, relays, doorbell
MySensors
ESPEasy ESP8266-12E
Rostikator
Posts: 11
Joined: Thursday 24 March 2016 15:15
Target OS: Raspberry Pi / ODroid
Domoticz version:
Contact:

Re: ELV Max! Heating control system

Post by Rostikator »

Hi
Thanks for links. I see it before. But I need a windows version. :(
R
Rpi+Domoticz+EQ3+RFLink
jorishp

Re: ELV Max! Heating control system

Post by jorishp »

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest