Nu kan du styra din Tellstick via Node-RED ( node.js )!

Moderator: Telldus

emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

Hej,

Efter att ha kört själv ett tag så släppte jag nyss en modul till Node-RED publikt. Finns nu tillgängligt på NPM/Github: https://www.npmjs.com/package/node-red- ... -tellstick

Node-RED är ett fantastiskt fint node.js-baserat verktyg för att koppla ihop olika (hårdvaru-)enheter, apier och online-tjänster. Såhär kan det t.ex. se ut:
Image

Här är en liten video på när jag styr min sovrumslampa via Node-RED på min Raspberry https://www.youtube.com/watch?v=qWhjNiy9fuU.

Feedback är alltid välkommet!

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

Detta är nog en av de coolaste och kraftfullaste lösningarna man kan tänka sig för allahanda automations och informationslösningar. Det finns ju massor av moduler och flows som är gjorda och delade publikt.

Bara ett förtydligande, jag antar att du supportar TellStickDuo?

mvh

emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

krambriw wrote: Bara ett förtydligande, jag antar att du supportar TellStickDuo?
Självklart!

Faktiskt bara testat med en Duo. Men då den snackar mot de officiella API:erna så borde den klara av Tellstick:en också (men då kan du självfallet bara använda out-noden)

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

Då är det alltså tveksamt med TellStickNet såvida du inte integrerat med Telldus Live!

emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

Inte bara tveksamt utan helt omöjligt.

Det här är en modul för Tellstick och Tellstick Duo. Eller som översta raden i README:n lyder: This is a full featured Node-RED module to communicate with a Tellstick or Tellstick Duo. :D

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

Bra, det var vad jag trodde

Så för att komma igång, alltså med en ren RPi, så börjar man med

Code: Select all

sudo npm install -g node-red
och därefter enligt din installationsanvisning på npm?

Räcker det eller måste Node.js installeras först??

emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

Node-RED är en node.js-applikation, så om om du har en helt fräsch Pi så är det första du vill göra installera node.js.

Installera node.js gör du enkelt genom att följa t.ex. den här guiden: http://weworkweplay.com/play/raspberry-pi-nodejs/
Men om det är så att du vill köra Node-RED (och min modul för att styra Tellsticken) så stödjer ännu inte node.js version 0.12.x av Node-RED. Se istället till att installera version 0.10.x. Om du följer guiden ovan så säger den vid ett tillfälle att du ska köra kommandot

Code: Select all

wget http://node-arm.herokuapp.com/node_latest_armhf.deb
gör inte det utan kör istället:

Code: Select all

wget http://node-arm.herokuapp.com/node_0.10.36_armhf.deb
När du väl installerat node.js så har du tillgång till NPM (som då alltså är Node Package Manager) och kan installera Node-RED precis med det kommandot du skrev. Och så kan du installera node-red-contrib-telldus genom att följa guiden. Eller installera någon av de hundratals andra Node-RED-modulerna.

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

Tack! Superbra, det här blir intressant, jag har redan noterat att det också finns en node för min andra transceiver (RFXtrx433)

emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

Ja RFX TRX-noden är finfin!

Jag kan även rekommendera Node-REDs Google-grupp. Behöver du hjälp/inspiration/föreslå utveckling/osv så är folk väldigt hjälpsamma! Såväl jag, som Node-RED core-utvecklare och Max som utvecklat RFX TRX-noden är aktiva där https://groups.google.com/forum/#!forum/node-red

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

OK, allt kör nu och jag kan styra en lampa (testat bara med en vanlig TellStick än så länge)

Men när jag försöker konfigurera ett existerande device så kraschar node-red med 'cannot find module 'when' '. Har jag missat att installera något???

Code: Select all


Welcome to Node-RED
===================

14 Apr 10:40:55 - [info] Node-RED version: v0.10.6
14 Apr 10:40:55 - [info] Node.js  version: v0.10.36
14 Apr 10:40:55 - [info] Loading palette nodes
14 Apr 10:41:12 - [warn] ------------------------------------------
14 Apr 10:41:12 - [warn] Failed to register 3 node types
14 Apr 10:41:12 - [warn] Run with -v for details
14 Apr 10:41:12 - [warn] ------------------------------------------
14 Apr 10:41:12 - [info] User Directory : /home/pi/.node-red
14 Apr 10:41:12 - [info] Flows file     : /home/pi/.node-red/flows_raspberrypi.json
14 Apr 10:41:12 - [info] Server now running at http://127.0.0.1:1880/
14 Apr 10:41:13 - [info] Starting flows
14 Apr 10:41:13 - [info] Started flows
14 Apr 10:42:11 - [red] Uncaught Exception:
14 Apr 10:42:11 - Error: Cannot find module 'when'
    at Function.Module._resolveFilename (module.js:338:15)
    at Function.Module._load (module.js:280:25)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.getParametersValues (/home/pi/.node-red/node_modules/node-red-contrib-tellstick/tellstick/lib/tellstickDevices.js:133:13)
    at /home/pi/.node-red/node_modules/node-red-contrib-tellstick/tellstick/tellstick-out.js:305:22
    at /home/pi/.node-red/node_modules/node-red-contrib-tellstick/tellstick/lib/tellstickDevices.js:125:4
    at /home/pi/.node-red/node_modules/telldus/telldus.js:181:16


emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

Attans, fel på min sida!

Jag har precis skickat upp en liten bugfix som löser problemet.

Uppdatera modulen genom att:

Code: Select all

cd /home/pi/.node-red/node_modules
npm update node-red-contrib-tellstick
Dubbelkolla att modulen uppdaterades:

Code: Select all

cd /home/pi/.node-red/node_modules/node-red-contrib-tellstick/node_modules
ll
Där bör det nu finnas en katalog som heter "when"

(Tekniskt: Tidigare så låg noder i Node-REDs katalog vilket de gjorde att de kunde använda sig av Node-REDs dependencies. Nu ligger moduler i user home vilket gör att vi inte kan ärva på samma sätt längre)

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

Hej, tack det fungerar fint nu

En liten fråga?

Jag brukar autostarta processer med hjälp av crontab men lyckas inte riktigt med att starta node-red på detta sätt

Följande kommando i crontab fungerar inte

Code: Select all

@reboot /usr/local/bin/node-red-pi --max-old-space-size=128
Däremot går följande men då får jag inte upp min tidigare konfiguration och jag ser inte heller Tellstick noden då längre och jag vill ju helst inte köra under sudo

Code: Select all

@reboot sudo /usr/local/bin/node-red-pi --max-old-space-size=128
Har installerat allt med user Pi

emiloberg
Posts: 16
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by emiloberg » Thu Jan 18, 2018 11:08 am

Här är Node-RED:s preferred way av att autostarta Node-RED: http://nodered.org/docs/getting-started ... ed-on-boot

Stöter du på patrull där så finns det massor av trådar om det i Node-REDs Google Group

krambriw
Posts: 654
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by krambriw » Thu Jan 18, 2018 11:08 am

Tack, jag såg det också men var lite lat och tänkte 'gena över ängen'....lagt in pm2 nu och då fungerar autostart naturligtvis bra. Dessutom verkar Node-RED återstartas automatiskt om den kraschar vilket också är bra (hur är det möjligt att jag lyckas fingra på funktioner som kraschar???. I detta fall var det TCP noderna jag labbade med)

I övrigt att säga: klart imponerande, kul att dra in olika informationer från olika håll och kombinera; 1-wire, Tellstick, RFXtrx, MQTT, TCP/UDP osv,

En fundering: Det vore läckert om man kunde skriva noder också i python (har massor av det sen tidigare) som alternativ till att behöva skriva om allt i javascript. Dessutom skulle python vara bättre i ett avseende, multi-threading

mvh

Messer
Posts: 7
Joined: Thu Jan 18, 2018 11:08 am

Re: Nu kan du styra din Tellstick via Node-RED ( node.js )!

Post by Messer » Thu Jan 18, 2018 11:08 am

Det här verkar ju sjukt smidigt, måste provas så fort jag kommer hem!
Kan jag äntligen uppfylla min dröm att få ljusen i mitt tv rum att släckas så fort jag startar vlc i fullskärm med detta tro? Har lite problem med det eftersom rpin som tellsticken är inkopplad på inte är den enheten jag använder när jag kollar på filmer osv på, det är gör jag genom en annan dator, går det att få de att samarbeta tror ni?

Bra jobbat iaf!

Post Reply