AXA remote 2.0 bedienen / klimaat regeling deel 2

Ook even in dit topic een kleine update van hoe ik het nu aanstuur met een geavanceerde flow.

Is de AXA smart al leverbaar?

Nee helaas. Het duurt allemaal wat langer. Laatste wat ik weet is dat er nog een kleine test volgt. Het test exemplaar die ik heb werkt prima. Wacht alleen met smart op de Homey app. :grin:

1 Like

Ik wacht ook met smart op op de AXA smart :wink:

Ik zie op internet wel al een handleiding

iPhone app is er ook. (daar test ik dus mee) Maar zonder de hardware heb je er niks aan. Het duurt dus allemaal wat langer helaas. Misschien dat men toch tegen een probleem is aangelopen? De remote zelf zal het probleem niet zijn. Ik heb hier de 2.0 op twee ramen zitten (IR) en die werken prima. (unit is verder het zelfde, alleen de bediening wordt dus “smart”) Ook de testunit die ik heb doet het zonder nukken. Ik hoop dat ik snel kan testen met Homey. Maar men ging eerst Home Kit en Alexa werkend maken. Zodra ik aan de gang kan met Homey laat ik het weten, maar reken er niet op dat dat dit jaar nog is.

Is er al meer bekend over wanneer de AXA smart remote leverbaar is? En over de koppeling met Homey?

Omdat ik ook nog geen nieuws ontvangen had heb ik het even nagevraagd.

Antwoord van AXA:
" Verwachting is dat de AXA Smart Remote binnen 3 maanden vrijgegeven wordt voor productie. Dit zal betekenen dat de Smart Remote rond de zomervakantie verkrijgbaar zal zijn. In de 1e instantie in beperkte mate via Bol.com.

Integratie met Homey is er dan nog niet. Ik sluit niet uit dat we dit al snel na de Intro gaan realiseren. We hebben hier namelijk al veel verzoeken voor gehad."

Bedankt voor je reactie! Ik ga het in de gaten houden!

Ik ben afgelopen dagen bezig om via een andere weg de axa remote 2.0 aan te sturen. Op dit moment kan ik de raampjes open sturen met een open stop en close commando via mqtt. Daarnaast krijg ik de status netjes terug via mqtt.
er is een klein stukje elektronica nodig mpc2003 met wat weerstanden en een nodemcu (wemos zal ook wel werken)
De batterijen vervallen en worden vervangen door een kabel de electronica kan of in de buurt van de adapter of in het batterij compartiment van de axa (wellicht moet er wel een klein stukje van het batterijklipje af)
Ik hoop de komende dagen een complete beschrijving te kunnen delen.

Wat me alleen nog niet gelukt is en waar ik hulp bij kan gebruiken is het maken van een advanced virtual device dat er uit ziet zoals hieronder maar dan met de status dat via het mqtt topic terug wordt gegeven. en bijvoorbeeld een pictogram met een geopend en gesloten raam.
Wellicht kan iemand zelfs een simpele axa app schrijven om remotes toe te voegen. to be continued …

bij deze alvast de code, be gentle ik ben geen programmeur. Verbeteringen zijn welkom :slight_smile:

#include <ESP8266WiFi.h>
#include <PubSubClient.h>

// Definieer de gegevens voor toegang tot het Wi-Fi netwerk
const char* ssid = "wifissid";
const char* password =  "password";

// Definieer de MQTT-server waar de ESP8266 mee verbinding maakt
const char* mqtt_server = "192.168.1.13";
const int mqtt_port = 1883;

// Initialiseer WiFiClient en PubSubClient
WiFiClient espClient;
PubSubClient client(espClient);

void setup() 
{

  // Initialiseer seriële communicatie
  Serial.begin(19200,SERIAL_8N2);

  // Maak verbinding met Wi-Fi
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) 
  {
    delay(500);
 //   Serial.println("Connecting to WiFi..");
  }


  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(MQTTcallback);
  while (!client.connected()) 
  {
 //   Serial.println("Connecting to MQTT...");
    if (client.connect("axaremote_1"))  // client id mqtt
    {
//      Serial.println("connected");
    }
    else
    {
//      Serial.print("failed with state ");
//      Serial.println(client.state());
      delay(2000);
    }
  }
  // Abonneer op het topic "axaremote/state"
  client.subscribe("axaremote/commands");
}
// Deze functie wordt aangeroepen wanneer er een MQTT-bericht binnenkomt op het gespecificeerde topic
void MQTTcallback(char* topic, byte* payload, unsigned int length)
{
//Serial.print("Bericht ontvangen op topic: ");
//Serial.println(topic);
//Serial.print("Bericht: ");
String message;
for (int i = 0; i < length; i++)
{
message = message + (char)payload[i];
}
//Serial.print(message);
if (message == "open")
{
open_axa();
}
else if (message == "stop")
{
stop_axa();
}
else if (message == "close")
{
close_axa();
}
else if (message == "status")
{
status_axa();
}

}

void loop(){
// Verwerk binnenkomende MQTT-berichten
client.loop();
}




void open_axa() {
  Serial.println("\r");
  delay(100);
  Serial.print("O");
  delay(20);
  Serial.print("P");
  delay(20);
  Serial.print("E");
  delay(20);
  Serial.print("N");
  delay(20);
  Serial.println("\r");
}

void close_axa() {
  Serial.println("\r");
  delay(100);
  Serial.print("C");
  delay(20);
  Serial.print("L");
  delay(20);
  Serial.print("O");
  delay(20);
  Serial.print("S");
  delay(20);
  Serial.print("E");
  delay(20);
  Serial.println("\r");
}

void stop_axa() {
  Serial.println("\r");
  delay(100);
  Serial.print("S");
  delay(20);
  Serial.print("T");
  delay(20);
  Serial.print("O");
  delay(20);
  Serial.print("P");
  delay(20);
   Serial.println("\r");
}

void status_axa() {
  Serial.println("\r");
  delay(100);
  Serial.print("S");
  delay(20);
  Serial.print("T");
  delay(20);
  Serial.print("A");
  delay(20);
  Serial.print("T");
  delay(20);
  Serial.print("U");
  delay(20);
  Serial.print("S");
  delay(20);
  Serial.println("\r");
  //delay(100);

  static char buffer[80]; // Definieer een buffer van 80 bytes  proefondervindelijk
  
  int count = 0;
  while (Serial.available() && count < 79) { // Lees inkomende data totdat de buffer vol is
    buffer[count++] = Serial.read();
  }
  buffer[count] = '\0'; // Voeg een nul-terminator toe om de string af te sluiten
  
  if (count > 0) {
    // Controleer of de string "open" of "dicht" bevat en publiceer de status via client.publish
    String res = String(buffer);
    if (res.indexOf("Strong Locked") != -1) {
      client.publish("axaremote/state", "locked");
    } else if (res.indexOf("UnLocked") != -1) {
      client.publish("axaremote/state", "opened");
    }
    else{client.publish("axaremote/state", "state unknown");
    }
  }
  
}
1 Like

Bij deze de beloofde aanvulling.

Allereerst even een thumbs up voor iedereen die al eerder met soortgelijke projecten is bezig geweest. Ik ben zo vrij geweest om her en der informatie uit andere projecten mee te nemen in mijn oplossing.
credits voor oa. Galagaking, Peter_kawa, Arie_J_Godschalk, DomoRob (voor zijn schema uit 2015)

Ik heb er voor gekozen om een nodemcu V2 te gebruiken vanwege het geringe formaat en aanwezigheid van de mogelijkheid om deze direct aan te sluiten op de voedingsspanning van de axa remote 2.0. Deze past zonder problemen in het batterijvak als je de batterijclips wat naar beneden buigt.

De linbus converter heb ik zonder print in elkaar gesoldeerd ivm de ruimte.

Het is ook prima mogelijk om de aansturing in een doosje te bouwen in de buurt van adapter

Laat je niet afschrikken met een beetje handigheid is dit prima in elkaar te zetten (gaatjesprint, breadboard etc)

Schema linbus converter:
• Port 1: +
• Port 2: -
• Port 3: Data
• Port 4: Data
• Port 5: -
• Port 6 +
image


Beschikbare seriele commando’s
Baudrate 19200, 8n2 (let op er zijn dus 2 stopbits nodig)

Inbouw mogelijkheid

de connecter gaat in de vrije poort van de axa remote 2.0 in de andere poort gaat de adapter.

image

en een flow example

2 Likes

Om het af te maken
Een TEF met device en flows

Deze TEF kun je gebruiken om een advaced virtual device aan te maken. Mbv Device Capabilities app uit de appstore
De device tile bevat drie knoppen open stop close en de status wordt getoond


Apps used:

Vergeet niet om bij instellingen van de device tile een status te kiezen. Anders wordt deze niet getoond.


TEF:

[tef:AVD,FLOWS:"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":/tef]

Yup, graag gemaakt voor je :wink:

Sorry credits voor Peter👍.Nb ik heb de list optie vervangen door druk knoppen.

1 Like

Ziet er leuk uit. Wat voor module heb je daar voor gebruikt? Want de afkortingen zegen mij zo niks.

een nodemcu v2 zie de afbeelding hieronder. Dit is een 2e versie op basis van hetzelfde principe

Nog wel een paar opmerkingen na een week in gebruik zonder problemen.
-homey moet een vast ip adres hebben ivm de MQTT broker
-Als de homey herstart of de broker, moeten de axa remotes opnieuw verbinding maken resetknopje indrukken is voldoende. Wie kan de code aanvullen met een stuk dat regelmatig de mqtt verbinding test en opnieuw verbindt.
-Als je meerdere axa remotes wil aansturen moet je de topic namen in de code aanpassen bv axaremote_n/commands en axaremote_n/state
-De knoppen van het advanced virtual device geven reageren alleen op status veranderingen. Dit kan onhandig zijn als ook de infrarood afstandsbediening nog gebruikt wordt. (Dit moet op te lossen zijn)
-Wie is er zo handig dat hij/zei een webinterface kan toevoegen waarin de ssid/password/mqtt topic en evt mqtt credentials aan te passen zijn. Ik ben bereid om je evt wat linbus converters te sturen om te testen. (neem contact op via pm)

Om te controleren of mqtt bestanden verzonden worden heb ik MQTT explorer op de pc gebruikt.
Op homey heb je de volgende 3 apps nodig
-Device Capabilities (voor de tegel met status)
-MQTT Client
-MQTT Broker

Inmiddels heb ik de code een stuk robuuster gemaakt.
-Hostname wordt direct aangepast aan de topicname om deze beter te kunnen herkennen op je netwerk
-Code toegevoegd die elke 5 minuten de mqtt verbinding controleert en evt hersteld.
-Er waren nog wat schoonheidsfoutjes bij het doorgeven van de status die zijn nu opgelost.
-Er is nu de mogelijkheid om een MQTT inlognaam en wachtwoord op te geven.
-Aansturing linbus converter gaat nu via softwareserial waardoor je via usb makkelijk kunt meelezen wat er gebeurd en evt debuggen.
LET OP linbus converter nu aansluiten op D1 en D2 (ipv rx en tx)

#include <ESP8266WiFi.h>
#include <PubSubClient.h>
#include <SoftwareSerial.h>
#include <Ticker.h>


// Definieer de gegevens voor toegang tot het Wi-Fi netwerk
const char* ssid = "your_SSID";
const char* password =  "your_Password";


// Definieer de MQTT-server waar de ESP8266 mee verbinding maakt
const char* mqtt_server = "192.168.1.13";  //IP adres server/broker/homey
const int mqtt_port = 1883; //Port server/broker
const char* TOPIC_NAME = "axaremote_n";  //Topic name voor elke axa remote 2.0 een andere topic name opgeven.
const char* mqttUser = "your_mqttusername"; 
const char* mqttPass = "your_mqttpassword";


// Initialiseer WiFiClient en PubSubClient

WiFiClient espClient;
PubSubClient client(espClient);
SoftwareSerial softSerial(5, 4); // RX = D1, TX = D2 Verbind deze pinnen met de linbus converter

Ticker ticker; //declareert een object van de klasse Ticker, genaamd ticker
static char buffer[80]; // Definieer een buffer van 80 bytes (dit is proefondervindelijk bepaald kan vast mooier)

void setup() 
{

  // Initialiseer seriële communicatie via usb poort en voor linbus controller
  Serial.begin(115200); //Initialiseer serial port via usb
  softSerial.begin(19200, SWSERIAL_8N2); // Initialiseer software serial port voor linbus

  // Maak verbinding met Wi-Fi
  WiFi.hostname(TOPIC_NAME);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) 
  {
    delay(500);
    Serial.println("Connecting to WiFi..");
  }
  ticker.attach(300, checkMQTTConnection); // Controleer elke n seconde of er nog een verbinding is met de MQTT-server

  MQTTsetup();
}


//functie op de verbinding op te zetten met de MQTT broker
void MQTTsetup()
{
  client.setServer(mqtt_server, mqtt_port);
  client.setCallback(MQTTcallback);
  while (!client.connected()) 
  {
    Serial.println("Connecting to MQTT...");
    //if (client.connect(TOPIC_NAME))  // gebruik deze regel als er geen mqtt inlog en password gebruikt worden
    if (client.connect(TOPIC_NAME, mqttUser, mqttPass)) 
    {
      Serial.println("connected");
    }
    else
    {
      Serial.print("failed with state ");
      Serial.println(client.state());
      delay(2000);
    }
  }

  client.subscribe((String(TOPIC_NAME) + "/commands").c_str());   // Abonneer op het eerder gedefineerde topic 
}


// functie controleert elke 5 min de verbinding met de wi-fi en de mqtt broker
void checkMQTTConnection() {
  if (!client.connected()) { 
    Serial.println("verbinding MQTT server verbroken.. opnieuw connecteren");  
    WiFi.disconnect(); // verbreek huidige Wi-Fi verbinding
    delay(1000);
    WiFi.begin(ssid, password); // maak opnieuw verbinding met Wi-Fi
    while (WiFi.status() != WL_CONNECTED) {
      delay(500);
      Serial.println("Connecting to WiFi..");
    }
    MQTTsetup();
  }
  else { 
    Serial.println("verbinding MQTT server is in orde");
  }
}


// Deze functie wordt aangeroepen wanneer er een MQTT-bericht binnenkomt op het gespecificeerde topic
void MQTTcallback(char* topic, byte* payload, unsigned int length)
{
  Serial.print("Bericht ontvangen op topic: ");
  Serial.print(topic);
  Serial.print("Bericht: ");


  String message;
  for (int i = 0; i < length; i++)
  {
  message = message + (char)payload[i];
  }
  Serial.println(message);
  if (message == "open")
  {
  open_axa();
  }
  else if (message == "stop")
  {
  stop_axa();
  }
  else if (message == "close")
  {
  close_axa();
  }
  else if (message == "status")
  {
  status_axa();
  }
}

// Deze functie verwerkt binnenkomende MQTT-berichten
void loop(){
client.loop();
}




void open_axa() {
  softSerial.println("\r");
  delay(10);
  softSerial.print("O");
  delay(10);
  softSerial.print("P");
  delay(10);
  softSerial.print("E");
  delay(10);
  softSerial.print("N");
  delay(10);
  softSerial.println("\r");
}

void close_axa() {
  softSerial.println("\r");
  delay(10);
  softSerial.print("C");
  delay(10);
  softSerial.print("L");
  delay(10);
  softSerial.print("O");
  delay(10);
  softSerial.print("S");
  delay(10);
  softSerial.print("E");
  delay(10);
  softSerial.println("\r");
}

void stop_axa() {
  softSerial.println("\r");
  delay(10);
  softSerial.print("S");
  delay(10);
  softSerial.print("T");
  delay(10);
  softSerial.print("O");
  delay(10);
  softSerial.print("P");
  delay(10);
  softSerial.println("\r");
}

void status_axa() {
  softSerial.println("\r");
  delay(10); //100
  softSerial.print("S");
  delay(10);
  softSerial.print("T");
  delay(10);
  softSerial.print("A");
  delay(10);
  softSerial.print("T");
  delay(10);
  softSerial.print("U");
  delay(10);
  softSerial.print("S");
  delay(10);
  softSerial.println("\r");
  //static char buffer[80]; // Definieer een buffer van 80 bytes (dit is proefondervindelijk bepaald kan vast mooier)
  delay(20); //om te voorkomen dat eerste keer uitlezen status mislukt
  int count = 0;
  while (softSerial.available() && count < 79) { // Lees inkomende data totdat de buffer vol is
    buffer[count++] = softSerial.read();
  }
  buffer[count] = '\0'; // Voeg een nul-terminator toe om de string af te sluiten
  
  if (count > 0) {
    // Controleer of de string "Unloced" of "Strong Locked" bevat en publiceer de status via client.publish
    String res = String(buffer);
    Serial.println(buffer);//print de volledige buffer 
    if (res.indexOf("Strong Locked") != -1) {
      //client.publish(TOPIC_NAME"/state", "locked");
      client.publish(((String(TOPIC_NAME) + "/state").c_str()),"locked");
    } else if (res.indexOf("UnLocked") != -1) {
      //client.publish(TOPIC_NAME"/state", "opened");
        client.publish(((String(TOPIC_NAME) + "/state").c_str()),"opened");
    }
    else{
      //client.publish(TOPIC_NAME"/state", "state unknown");
        client.publish(((String(TOPIC_NAME) + "/state").c_str()),"unknown");
    }
  }
}

Hoi Gijs, Mooi project en mooie uitgebreide omschrijving! Ook een bekend screenshot (AXA Remote v2 icm ESP8266 en HomeAssistant - Duurzame energie en installaties - GoT) met de return strings en GitHub - galagaking/espaxa: ESP Module for controlling AXA Remote2.0. Dank voor de credits :wink:

Oeps volgens mij al de 2e keer dat me dat overkomt :blush:
Credits bij deze. Ik zal ook in mijn eerste post nog even benoemen dat ik van diverse plekken op internet wat geleend heb :grinning: Zelf ben ik al in 2015 aan een soort gelijk projectje begonnen maar door tijdgebrek en soms ook gebrek aan kennis lag het stil. Afgelopen tijd mede door chatgpt en het slechte weer liep het ineens een stuk beter. Mocht je verbeteringen hebben voor de code dan hoor ik het graag.

2 Likes

Vandaag Axa gebeld om te vragen of ze al te bestellen zijn, omdat ik zowel de handleiding (Conceptversie 211208) als de app (Axa my smart home, Google Play Store / vroege toegang) voor de smart versie vond.

Het is nog niet bekend wanneer de smart remote verkrijgbaar zal zijn. Ze gaan uit van dit jaar (waar hebben we dat eerder gehoord?).

Even geduld nog, of zelf knutselen dus.