Installation och konfiguration av OpenHAB. Del 6: Sakernas Internet, Home Automation (9 / 13 steg)

Steg 9: Felsökning dina regler




Finns vanligen ett par alternativ du när felsökning OpenHAB (på Raspberry Pi) med OpenHAB Designer (på datorn). Dessa är semantiska och funktionella felsökning.

Semantiska felsökning

Om du välja för att använda OpenHAB Designer, en av fördelarna med programvaran är det hjälper dig pickup semantiska fel genom att markera raden med ett rött "x" (i bild 3 ovan), här programvaran har upptäckt random textfel "ThisIsABlatantMistake" och lyfte fram det.

Programvaran kommer också att hjälpa dig att slutföra din kod genom att erbjuda några potentiella alternativ (som i bild 2 ovan). För att få denna hjälp medan du skriver, enkelt pressa Ctrl-SPACE. En kort stund senare en rullgardinsmeny visas beskriver de möjliga alternativ. Använd upp/ner piltangenterna för att göra ditt val och tryck på enter för att göra ditt val.

Funktionella felsökning

Detta område för debug är lite knepigt. När du har angett all kod för .sitemap, .rules, .persist, transformeringar (kartor, Java skript etc) och .items som är någorlunda rakt fram. Du kan peka webbläsaren Chrome på din hemsida (http://openhab.local:8080/openhab.app?sitemap=stevequinnhousehold), uppdatera den och se frukten av ditt arbete framför dina ögon.

Men vad händer om du arbetar på en regel och du får inget svar eller ett svar i Chome som ingen mening. Om sådan situation uppstår kan du använda loggning för att hjälpa dig att felsöka. Se https://github.com/openhab/wiki/Rules för ytterligare detaljer (generell process skildras i bild 1). Men kort sagt kan du effektivt utföra utskrift förklaring felsökning om du gör följande (bilder 4 och 5 ovan);

Öppna PuTTY, ansluta till servern OpenHAB och ange;

  • tail -f /var/log/openhab/openhab.log
  • Om du vill växla loggning inom dina regler, redigera filen logback.xml;
    • sudo nano /etc/openhab/logback.xml
  • Leta upp följande rad;
    • {logger name="org.openhab" nivå = "INFO" /}
  • Ange här nedanför;
    • {logger name="org.openhab.model.script.stevequinnhousehold" nivå = "DEBUG" /}
  • Spara ändringarna och avsluta nano ^ X, y, RETUR
  • Lägga till följande rad i filen regler, i regel av intresse. dvs den som du felsöker.
    • logDebug ("stevequinnhousehold", "Regeln felsöks")
  • Spara ändringarna till filen .rule i OpenHAB Designer.
  • En kort tid senare tailed loggen kommer att visa de förändringar som läses av OpenHAB servern: ' Uppdatera modell ' stevequinnhousehold''
  • När regeln körs koden av intresse visas följande i tailed loggen;
    • ÅÅÅÅ-MM-DD HH. S [DEBUG] [del.script.stevequinnhousehold] - regel som felsöks

.

Så med denna metod kan du skriva ut Felsöka dina program tills du fixa eventuella problem. För att hjälpa din förståelse lämnade jag lite felsökning kod i filen stevequinnhousehold.rules, "Sync kontroll" regeln.

.

Tips: Avsluta ett program som körs befalla lina.

Det finns subtila skillnader när du avslutar ett program på en Linux system med ^ C (Ctrl-C) och ^ Z (Ctrl-Z). Beroende på hur du använder dessa kommandon kan du få vad tycker är konstigt beteende.

Ctrl-C: Detta kommando kommer att avsluta och avsluta ett program som körs. Du kan använda det för att sluta från tailed log exemplet ovan.

Ctrl-Z: Detta kommando upphäver ett program och ger dig tillbaka befalla lina. I kraft tidigare anropade programmet fortfarande i minnet men får ingen processortid. Att korrekt avsluta ett program efter att ha använt ^ Z, måste du återaktivera svävande programmet genom att ange fg^ C. Om du startar om ett program som avbröts med ^ Z du kan hitta udda beteende ges programmet effektivt är laddad innan du försöker att ladda över toppen.

.

Obs: för ' {"läser mindre än och för"} "Läs större än. Tyvärr remsor Instructables redaktör dessa tecken från texten.

Se Steg
Relaterade Ämnen

Skapa din första IoT Ethernet-enhet. Del 5: Sakernas Internet, Home Automation

Detta är en "twofer" (två för en) är den första delen (A) Ethernet motsvarande sin WiFi ESP8266/DHT22 baserat föregångare med en extra I2C LCD-display för sammanfattningsdata (se andra bilden ovan). I del (B) vi kommer att utöka design (se först...

"Koppleri" din första IoT WiFi-enhet. Del 4: Sakernas Internet, Home Automation

OK, inte så mycket koppleri men att utvidga din första IoT enhetIntroduktionDetta Instructable dokumenterar hur enkelt det är att utvidga och ytterligare utveckla en IoT enhet (bilden ovan) och är uppbyggd kring ESP8266-01 WiFi aktiverat modulen från...

Att inrätta en MQTT mäklare. Del 2: Sakernas Internet, Home Automation

FörordOkej i "Del1: Sakernas Internet, Home Automation", du har skapat och konfigurerat din "Vanilj" Raspberry Pi (ursäkta ordvitsen) och kan fjärransluta till det med kitt. Nu ställer vi in en server som kommer att upprätta din huvuds...

Skapa din första IoT WiFi-enhet. Del 3: Sakernas Internet, Home Automation

Detta Instructable dokument hur man skapar en enkel IoT enhet (bilden ovan) baserat runt ESP8266-01 WiFi aktiverat modulen och är den tredje delen i en serie av Instructables beskriver hur du ställer in egna IoT hemnätverket.IoT enheten i fråga har e...

Installera och konfigurera DRV8825 Stepper drivrutiner

Jag köpte nyligen 2 i den nya tysta steg pinnar så som jag skrev en instructable om: installera och konfigurera SilentStepStick i RAMPER - TMC2100 Schrittmotortreiber - de verkligen imponerade på mig, och ville handla upp mina två senaste A4988 drivr...

Nybörjare guide till installera och konfigurera Octoprint på en Raspberry pi för 3D utskrift

Om du har läst någon av mina andra instructables, mest namnkunniga komplett nybörjare steg för steg, 3D-skrivare med alla delar listor, vet du att jag kommer ihåg min egen frustration på ofullständiga instruktioner och guider även efter jag äntligen...

Installera och konfigurera SilentStepStick i RAMPER - TMC2100 Schrittmotortreiber

Detta Instructable enbart ska fokusera på hur man får från att vilja köpa SilentStepsticks att installera och använda dem i din RAMPER. Under detta Instructable kommer vi inte gräva på hur den gör vad den gör, utan helt enkelt på att få dessa barn at...

Installera och konfigurera en DD-WRT Kong Router

DD-WRT är en underbar öppen källkod anpassade router firmware som stöds på många enheter. Det lägger till funktioner, stabilitet och konfigurationsmöjligheter till konsument-routrar.Det är dock inte lätt för en nybörjare som börjar med DD-WRT. Det ha...

Installera och konfigurera HADOOP på OsX

Installera Hadoop på OSXJag bestämde mig för att jag ville installera ett Hadoop kluster på Mac jag kör, detta beslutades främst på grund av Xgrid inleds inte längre på den nya version os OsX. Jag har setup SGE kluster innan, Xgrid uppenbarligen, och...

Installera och konfigurera Linux Infrared Remote Control (LIRC) Daemon

IntroduktionLIRC daemon avkodar IR (IR) signaler. Efter att ha mottagit en IR-signal, genererar demonen en viss LIRC händelse. Kunder som irexec daemon och XBMC/KODI lyssna på dessa LIRC händelser och svara därefter.RäckviddDetta instructable visar h...

Installera och konfigurera KeePass lösenord manager

OK i den följande läraren kommer att jag visa dig hur du konfigurerar KeePass lösenord manager.Om ni behöver mer information läggs den här under fodra._______________________________________________________________________________________________Steg...

Hur att installera och konfigurera en trådlös Router

Ändra IP-adressen i trådlös router?Vanligtvis är routerns administratörskonsolen erbjuder ett brett utbud av alternativ som är bra för dig att ändra standardadressen för lokala liksom andra IP-inställningar för. Ifall routrarna kan använda icke-stand...

Hur att installera och konfigurera en Iphone

Hej! Jag vet att detta är en enkel handledning men det kan vara till nytta för människor som har antingen bytt från android till iphone eller helt enkelt har ingen erfarenhet av iPhone och vill lära dig mer.Om du gillade detta, se till att rösta på m...

Hur att installera och skräddarsy en Drupal CMS webbplats / / http://www.collectiveresolve.org

Översikt / / en allmän översikt eller sammanfattningDrupal opensource Content Management SystemVisa vissa webbplatser som använder Drupal CMS.Testa en demo installation av Drupal CMS med administratörsåtkomst.CollectiveResolve använder Drupal Content...

Sakernas Internet med Raspberry Pi-2

Detta är en uppföljning till mitt tidigare instructable Sakernas Internet med Raspberry Pi - 1.(Om inte du är bekant med webbservrar, PHP kodning och grundläggande begrepp för Sakernas Internet, bör du nog gå igenom del 1 första.)I den tidigare instr...

Intellekten Edison baserad mobil sensornätverk för Sakernas Internet

Introduktion och översiktIntel-Edison är en tjusig liten dator som kombinerar många fördelarna med andra maker plattforms. Den kan kombineras med breakout brädor i olika storlekar och ändamål.I denna artikel kommer vi lära oss vilka komponenter behöv...

Hur att installera och starta Damn Small Linux på en USB Flash Drive

vilja till veta hur till installera och starta Damn Small Linux på din usb blixt driva sedan Uppehälleläsning. du kommer att behöva vända dina högtalare upp hela vägen för videon inte hade några problem med mic volymenSteg 1: Ladda ner filerna som kr...

Hur att installera och använda ScratchExt: Javascript Scratch tillägg

ScratchExt är inställd för JavaScript Extensions för Scratchprogramming miljö och ett community för människor i alla åldrar. Det är ett projekt som utvecklats av GrannyCookies, Yoda3D och thistleeverfreen.Detta projekt är fortfarande under utveckling...

Arduino och Apple HomeKit Integration - styra ditt hem från Siri! Sakernas Internet är här

Detta Instructable ger dig ett snabbt och enkelt sätt att lägga till en arduino ombord till Apples HomeKit på en iOS-enhet. Det öppnar upp alla möjliga möjligheter inklusive skript som körs på servern, i kombination med äpplen HomeKit "Scener",...