Mqtt mm i Nexahome

Moderators: hekj, Telldus

Mqtt mm i Nexahome

Postby fingalo » Thu Apr 07, 2016 9:09 am

Hej några frågor om Nexahome.
1. Kan man använda mqtt stödet i Nexahome och hur?
2. Använder ESP8266 med tempgivare för testning. Har sett (och testat) att man kan få in givarvärden från en fil via sensorpath fältet. För att få in ett värde som skickas via HTTP så skulle jag kunna avkoda meddelandet i mypage.bsh och skriva värden till filen.
Finns det möjligen ett smidigare sätt än att gå via fil?
Skulle man kunna använda remote fältet för att läsa ett värde från ett annat system som inte är en Nexahome?
fingalo
 
Posts: 49
Joined: Fri Aug 22, 2014 4:58 pm

Re: Mqtt mm i Nexahome

Postby hekj » Thu Apr 07, 2016 6:11 pm

fingalo wrote:1. Kan man använda mqtt stödet i Nexahome och hur?

Jag har glömt bort det mesta av mqtt finesserna, började med att ladda hem.
https://kamilfb.github.io/mqtt-spy/

Hittade följande rader i min javakod.
Code: Select all
protected static final String TOPIC_CMD = "nexahome/command";
protected static final String TOPIC_STATUS = "nexahome/status";
protected static final String TOPIC_SENSOR = "nexahome/sensor";
protected static final String TOPIC_DEVICES = "nexahome/devices";
protected static final String TOPIC_RESULT = "nexahome/result";

Gjorde subscribe på följande topic.
Code: Select all
nexahome/devices

Skickade följande data på topic "nexahome/command" för att släcka en lampa.
Code: Select all
device=5&cmd=off

Såg att man fick en json efter att lampan släckts
Code: Select all
{
    "devices": [
        {
            "name": "Sovrum (fönster)",
            "id": "5",
            "timestamp": "2016-04-07 20:15",
            "dimmable": false,
            "level": "",
            "status": "OFF"
        }
    ]
}
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Mqtt mm i Nexahome

Postby fingalo » Thu Apr 07, 2016 7:39 pm

Hej,
tack för informationen, jag ska labba lite med det! :D

Jag fixade min fråga två genom att skapa två 'hemsidor' i ESP8266, de returnerar bara temp resp fukt värdet rakt upp och ner, ex 23.4.
I sensorpath fälter kör jag sh skriptet (för temp)
Code: Select all
#!/bin/bash
TEMP="curl -k 192.168.1.144:8081/temp"
RESPONSE=`$TEMP`
echo $RESPONSE

Hade egentligen velat pusha värdet från ESP8266, men det här fungerar helt OK. Dock updateras timestamp varje minut men skriptet körs endast var 5'e minut.

Testade också att emulera xml filen som REMOTE använder, det fungerade också bra, men problemet med den lösningen är att en REMOTE sensor inte får 'sensor' attributet i xml-filen, så den visas inte korrekt när jag läser upp data med json=yes. Också lite svårt att fixa timestamp på en ESP8266, har ingen RTC.
fingalo
 
Posts: 49
Joined: Fri Aug 22, 2014 4:58 pm

Re: Mqtt mm i Nexahome

Postby hekj » Thu Apr 07, 2016 8:04 pm

Lade upp en ny version som behövs om man vill kunna skriva till topic nexahome/sensor och få in det i NexaHome som ett raw event.
http://nexahome.se/NexaHome_4.1.2.jar
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Mqtt mm i Nexahome

Postby fingalo » Sat Apr 09, 2016 12:00 pm

Hej,
har testat med MQTT, hade en broker på min PC, anslöt i nexahome.
Kan nu avkoda raw event och få in sensor värden den vägen samt via MQTT få info om devicer och även styra dem. (Dock får jag två meddelande varje gång en device ändras, men inte om den har dummy=yes). Om brokern går ner får jag starta om Nexahome för att koppla upp.

Skall lägga ner brokern i RPI'n så att jag har en lösning med olika alternativ för att ansluta sensorer mm till Nexahome.

Mycket trevligt att MQTT fungerar, riktigt bra.

Håller på att få till en dynamisk sensorsida som byggs från Nexahomes json output och där trenden uppdateras från temperaturfilerna med jämna mellanrum.
Attachments
Untitled-1.jpg
Min websida med ESP8266 via sensorpath och MQTT via raw event. Övriga är 433 MHz givare.
Untitled-1.jpg (150.44 KiB) Viewed 2740 times
fingalo
 
Posts: 49
Joined: Fri Aug 22, 2014 4:58 pm

Re: Mqtt mm i Nexahome

Postby hekj » Mon Apr 11, 2016 5:41 pm

Ser bra ut!

Jag kan förtydliga vad man kan göra med topic "nexahome/command", i princip alla parametrar som man kan ge på url-raden ska fungera men ingen verifiering av lösenord sker.
hekj
 
Posts: 978
Joined: Mon Jan 05, 2009 10:34 am
Location: Stockholm

Re: Mqtt mm i Nexahome

Postby fingalo » Tue Apr 12, 2016 11:24 am

Hej!
Har nu också en mqttbroker (mosquitto) lokalt i RPI'n tillsammans med nexahome.
I ESP8266 skickar jag temperatur och fuktvärde till nexahome via mqtt topic 'nexahome/sensor' och tar hand om som ett raw event.
Kopplade också in 4 reläer till ESP8266 och dessa går nu att styra från nexahome via nexahome/command i mqtt.
Denna lösning fungerar riktigt bra, förutom att ESP8266 drar (väldigt) mycket ström..

Har inga anvisningar på vad jag gjort, men det går alltid att fråga om någon är intresserad.
fingalo
 
Posts: 49
Joined: Fri Aug 22, 2014 4:58 pm

Re: Mqtt mm i Nexahome

Postby Vinterhem » Thu Mar 30, 2017 5:28 pm

Hej!
-Att skicka kommandon till nexahome via mqtt (nexahome/command) går som en dans, men..

Jag försöker hämta värden från min mqtt, och det går lite sådär..
-Så fort jag har anslutit till min mosquitto, dyker "en massa" nya sensorer, typ termometrar upp när jag läser raw sensor data, med nonsensvärden, men ingenting jag lägger i nexahome/sensor syns i fönstret. Skickar från en esp8266, med espeasy som firmware. I mqtt-spy ser allt ut som det skall, är det någonting jag missar? Visst, det går att läsa och skriva på andra vis, men det hade varit fina fisken om jag kunde få värden direkt in i nexahome, när du nu har lagt in stöd för mqtt.
Vinterhem
 
Posts: 26
Joined: Thu Mar 31, 2011 8:03 pm

Re: Mqtt mm i Nexahome

Postby Vinterhem » Thu Mar 30, 2017 11:12 pm

:wave:
Löste det.. Jag vet inte vad jag gjorde, för att värdet skulle börja dyka upp som "RAW Sensor Data", men plötsligt gjorde det exakt det.

I ESPEasy lade jag in i rules:
On DHT#Tmp do
Publish nexahome/sensor id:a70 temp:[DHT#Tmp]
[DHT är sensorn, och Tmp temperaturvariabeln]
I NH under parameters:
model:mqtt;id:a70;value:temp
..och satte SENSOR under fliken members/type.

..Men med mqtt igång, har jag hundratalet sensorer som dyker upp som rawevents, sensorer med konstiga värden, som ser ut precis som om de vore existerande termometrar via tellsticken, dvs utan markeringen mqtt.
Vinterhem
 
Posts: 26
Joined: Thu Mar 31, 2011 8:03 pm

Re: Mqtt mm i Nexahome

Postby fingalo » Sat Apr 08, 2017 6:33 pm

Hej,
tyvärr känner jag inte igen problemet med många konstiga raw events.
Själv skickar jag liknande mqtt sträng och avkodar som:
id:mq3;model:mqtt;value=temp
Broker:
tcp://localhost:1883

Det är inte någon konfigurering av mqtt brokern som gör att den bara pumpar på hela tiden?

Länge sen jag gjorde det så jag har inget konkret att peka på.
fingalo
 
Posts: 49
Joined: Fri Aug 22, 2014 4:58 pm


Return to NexaHome

Who is online

Users browsing this forum: No registered users and 4 guests

cron