Um den Robomow nicht nur per Bluetooth App zu starten, sondern in meinem Fall per Smarthome System, habe ich den Robomow RC304 Rasenroboter erweitert.
Dazu wurde der 8 polige Stecker vom Display zum Mainboard um einen Zwischenstecker erweitert.
Als 4-Kanal Aktor wurde der Homematic Bausatz [HM-LC-Sw4-Ba-PCB] verwendet. Die 4 Kanäle werden für die Tasten OK, Stop, Home und “Mähen mit Kante” verwendet. Da der Roboter mit 26V Spannung arbeitet, der Homematic Aktor jedoch zwischen 4-15V unterstützt, wurde diese per Step-Down-Wanlder auf 6V reduziert.
Teileliste:
Amazon:
- 1x TIMESETL 508Stück Schrumpfschlauch Set | € 9,99
- 1x Elegoo Jumper Wire 40x 20cm Kabel Steckbrücken | € 6,99
ELV:
- 1x econ connect Stiftleiste PSL8G, 1x 8-polig, gerade, RM 2,54 mm | € 0,05
- 1x econ connect Steckverbinder PS8, 1x 8-polig, 30 cm, RM 2,54 mm | € 0,69
- 1x Velleman Step-down-Wandler LM2596S | € 5,99
- 1x ELV Homematic Komplettbausatz 4-Kanal (HM-LC-Sw4-Ba-PCB) | € 19,95
Steckerbelegung | Homematic Taster | |
Braun | Masse – | TA1-2,TA2-2,TA3-2,TA4-2 |
Rot | Stop | TA4-1 |
Gelb | Mähen mit Kante | TA2-1 |
Grün | Mähen ohne Kante | |
Blau | Home | TA1-1 |
Lila | Ok | TA3-1 |
Grau | 26V+ |
Die Homematic Signalstärke (RSSI) waren mit über -150db im tiefroten Bereich, ich habe aus diesem Grund später ein “RP-SMA-Kabel” und eine WLAN-Antenne (aus einem alten Router) an die vorhandene Antenne des Homematic-Aktors angelötet. (Innenleiter an vorhandene Homematic Antenne, Aussenleiter an das WLAN-Gehäuse des Homematic). Die Werte liegen nun bei akzeptablen -80 bis -110 db.
Bilder:
Ansicht im Smarthome:
Symcon Script:
<?php
//Robomow Taster
SetValue($_IPS['VARIABLE'], $_IPS['VALUE']);
/*
Belegung: (Taster/Kabelfarbe)
Home TA1 (Blau)
Mähen mit Kante TA2 (Gelb)
Ok TA3 (Lila)
Stop TA4 (Rot)
*/
//Aktor-Kanäle beim "HM-LC-Sw4-Ba-PCB" sind TA1-4
$TA1 = 46727;
$TA2 = 26901;
$TA3 = 30994;
$TA4 = 29557;
//Home
if ( $_IPS['VALUE'] == 0 ) {
IPS_LogMessage($_IPS['SELF'], "Robomow: Home");
Taster($TA1);
HM_WriteValueBoolean($TA1, "STATE", true); //Home
//Mähen
} elseif ( $_IPS['VALUE'] == 1 ) {
IPS_LogMessage($_IPS['SELF'], "Robomow: Mähen");
Taster($TA4);
HM_WriteValueBoolean($TA4, "STATE", true); //Erstmal STOP drücken
sleep(2);
Taster($TA2);
HM_WriteValueBoolean($TA2, "STATE", true);
//Ok
} elseif ( $_IPS['VALUE'] == 2 ) {
IPS_LogMessage($_IPS['SELF'], "Robomow: Ok");
Taster($TA3);
HM_WriteValueBoolean($TA3, "STATE", true);
//Stop
} elseif ( $_IPS['VALUE'] == 3 ) {
IPS_LogMessage($_IPS['SELF'], "Robomow: Stop");
Taster($TA4);
HM_WriteValueBoolean($TA4, "STATE", true);
}
function Taster($Taster) {
HM_WriteValueFloat($Taster, "ON_TIME", 0.2);
sleep(0.25);
}