diff --git a/apache.conf b/apache.conf new file mode 100644 index 0000000..f9d0ef4 --- /dev/null +++ b/apache.conf @@ -0,0 +1,49 @@ + +# +# +# ServerName iot.d-popov.com +# SSLProxyEngine on +# #SSLEngine on +# #KeepAliveEnabled ON +# #SSLCipherSuite HIGH:MEDIUM +# #SSLProtocol all +# #SecureProxy ON + +# # first deny access to everything +# +# Order Deny,Allow +# Deny from All +# +# ProxyPreserveHost On +# #ProxyPass /n https://localhost:8443 +# #ProxyPassReverse /n https://localhost:8443 +# +# Order Allow,Deny +# Allow from All +# ProxyPass https://127.0.0.1:8443 +# ProxyPassReverse https://127.0.0.1:8443 +# +# # +# # ProxyPass http://127.0.0.1:8443 +# # ProxyPassReverse http://127.0.0.1:8443 +# # +# SSLCertificateFile /etc/letsencrypt/live/iot.d-popov.com-0001/fullchain.pem +# SSLCertificateKeyFile /etc/letsencrypt/live/iot.d-popov.com-0001/privkey.pem +# Include /etc/letsencrypt/options-ssl-apache.conf +# +# +# # vim: syntax=apache ts=4 sw=4 sts=4 sr noet + + + + + # + # 3b32d635-48a9-42ee-b084-bc5f15279964 + # /srv/dev-disk-by-id-usb-Seagate_Expansion_NAADR4MD-0-0-part2/NAS/ + # /export/NAS + # none + # bind,nofail + # 0 + # 0 + # 0 + # \ No newline at end of file diff --git a/cert/cert.pem b/cert/cert.pem new file mode 100644 index 0000000..5ed0d21 --- /dev/null +++ b/cert/cert.pem @@ -0,0 +1,31 @@ +-----BEGIN CERTIFICATE----- +MIIFVTCCBD2gAwIBAgISA/f8DccDhb4V1WXm4rXp6B88MA0GCSqGSIb3DQEBCwUA +MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD +ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MTgxNTM0MjJaFw0y +MDEwMTYxNTM0MjJaMBoxGDAWBgNVBAMTD2lvdC5kLXBvcG92LmNvbTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKliScJvzjO1A8il5xC4PmEXVOmcviVI +4NWwrIztxPeW6QudcrBl4qKLTdPDMp11QOvH0qJmv73i45DyTwB9qCh/mvdrO3Nx +M5MAMWBU0sgT4z4xqtrSWRRlABpUUk9isGOMD8Zqb92xdLoppk+rYAWYOn8U0pYf +4MaI1z7dnFjRiPPGve6anja9p3kTQ/9d/t7SDuJsDMm0d/RigfN++gFcZFK8IGKH +zxLOjO1hLy4hkl6yrYE/WhlSQm0AeYup7lDGvp4ZPNSxvhrKfX9UG6sBofZXz53B +6sDr5mIOgfoK7rSb/+t11CXkQnlt+wR5EqXEfagII8744oppeUXoKoUCAwEAAaOC +AmMwggJfMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB +BQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUiFwZMcZ8HyoMOcW8PlzYv17c +eb4wHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwbwYIKwYBBQUHAQEE +YzBhMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5cHQu +b3JnMC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMubGV0c2VuY3J5cHQu +b3JnLzAaBgNVHREEEzARgg9pb3QuZC1wb3Bvdi5jb20wTAYDVR0gBEUwQzAIBgZn +gQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s +ZXRzZW5jcnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQBep3P531bA +57U2SH3QSeAyepGaDIShEhKEGHWWgXFFWAAAAXNixssmAAAEAwBGMEQCIBa2tmYh +bx1q1LIXd2v350BJNXFJq5NHvFiLdTRwl2zHAiBTSJsdkGFk+TQ8xsbk+IPlr1vN +drIx5xx5+bvUvY4M/AB2AAe3XBvlfWj/8bDGHSMVx7rmV3xXlLdq7rxhOhpp06Ic +AAABc2LGy0wAAAQDAEcwRQIgfSyqYqIg7DpBwxwhze0fMUT+yzt2MABgA/jmZO74 +P9wCIQDu5fha74CHOXKpDLoZs5w6+nV4sl+CLVaIDKVm3RTetDANBgkqhkiG9w0B +AQsFAAOCAQEASvVZkOgnAV7eLWwrpzZ46XKEFQYDBlvQf1KgqzKccPiXo48LSJ+D +TVrlncW4uYfi6Z4RigbjaP2zXyX8zJT4mUH+E5MGAGgPCn4tmyZ7Ppwgb4I6n06z +8yLHf/IChIURE3blIaYmtPH+JiK7e1zeyXhG/kfUhRJCJ96eQUdxXIac2qcQuvyG +tMbet3j4/yE1mLQ/aU0SsUGSh7q3BWNs3SI9DgxjKwwHoGSugQ5v97t761MyCLZo +lO72+SkU6I8Bt4+lTL5POaQKbuMiF6rac+spUksMuF0KR9pERHlVcT03nn+AMatG +lb2J3pVMsmMsdcAikG42tSMtevTI9uQdbg== +-----END CERTIFICATE----- diff --git a/cert/chain.pem b/cert/chain.pem new file mode 100644 index 0000000..0002462 --- /dev/null +++ b/cert/chain.pem @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE----- +MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow +SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT +GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF +q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 +SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 +Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA +a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj +/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG +CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv +bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k +c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw +VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC +ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz +MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu +Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF +AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo +uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ +wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu +X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG +PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 +KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== +-----END CERTIFICATE----- diff --git a/cert/fullchain.pem b/cert/fullchain.pem new file mode 100644 index 0000000..a0a5b5f --- /dev/null +++ b/cert/fullchain.pem @@ -0,0 +1,58 @@ +-----BEGIN CERTIFICATE----- +MIIFVTCCBD2gAwIBAgISA/f8DccDhb4V1WXm4rXp6B88MA0GCSqGSIb3DQEBCwUA +MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD +ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDA3MTgxNTM0MjJaFw0y +MDEwMTYxNTM0MjJaMBoxGDAWBgNVBAMTD2lvdC5kLXBvcG92LmNvbTCCASIwDQYJ +KoZIhvcNAQEBBQADggEPADCCAQoCggEBAKliScJvzjO1A8il5xC4PmEXVOmcviVI +4NWwrIztxPeW6QudcrBl4qKLTdPDMp11QOvH0qJmv73i45DyTwB9qCh/mvdrO3Nx +M5MAMWBU0sgT4z4xqtrSWRRlABpUUk9isGOMD8Zqb92xdLoppk+rYAWYOn8U0pYf +4MaI1z7dnFjRiPPGve6anja9p3kTQ/9d/t7SDuJsDMm0d/RigfN++gFcZFK8IGKH +zxLOjO1hLy4hkl6yrYE/WhlSQm0AeYup7lDGvp4ZPNSxvhrKfX9UG6sBofZXz53B +6sDr5mIOgfoK7rSb/+t11CXkQnlt+wR5EqXEfagII8744oppeUXoKoUCAwEAAaOC +AmMwggJfMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYB +BQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUiFwZMcZ8HyoMOcW8PlzYv17c +eb4wHwYDVR0jBBgwFoAUqEpqYwR93brm0Tm3pkVl7/Oo7KEwbwYIKwYBBQUHAQEE +YzBhMC4GCCsGAQUFBzABhiJodHRwOi8vb2NzcC5pbnQteDMubGV0c2VuY3J5cHQu +b3JnMC8GCCsGAQUFBzAChiNodHRwOi8vY2VydC5pbnQteDMubGV0c2VuY3J5cHQu +b3JnLzAaBgNVHREEEzARgg9pb3QuZC1wb3Bvdi5jb20wTAYDVR0gBEUwQzAIBgZn +gQwBAgEwNwYLKwYBBAGC3xMBAQEwKDAmBggrBgEFBQcCARYaaHR0cDovL2Nwcy5s +ZXRzZW5jcnlwdC5vcmcwggEDBgorBgEEAdZ5AgQCBIH0BIHxAO8AdQBep3P531bA +57U2SH3QSeAyepGaDIShEhKEGHWWgXFFWAAAAXNixssmAAAEAwBGMEQCIBa2tmYh +bx1q1LIXd2v350BJNXFJq5NHvFiLdTRwl2zHAiBTSJsdkGFk+TQ8xsbk+IPlr1vN +drIx5xx5+bvUvY4M/AB2AAe3XBvlfWj/8bDGHSMVx7rmV3xXlLdq7rxhOhpp06Ic +AAABc2LGy0wAAAQDAEcwRQIgfSyqYqIg7DpBwxwhze0fMUT+yzt2MABgA/jmZO74 +P9wCIQDu5fha74CHOXKpDLoZs5w6+nV4sl+CLVaIDKVm3RTetDANBgkqhkiG9w0B +AQsFAAOCAQEASvVZkOgnAV7eLWwrpzZ46XKEFQYDBlvQf1KgqzKccPiXo48LSJ+D +TVrlncW4uYfi6Z4RigbjaP2zXyX8zJT4mUH+E5MGAGgPCn4tmyZ7Ppwgb4I6n06z +8yLHf/IChIURE3blIaYmtPH+JiK7e1zeyXhG/kfUhRJCJ96eQUdxXIac2qcQuvyG +tMbet3j4/yE1mLQ/aU0SsUGSh7q3BWNs3SI9DgxjKwwHoGSugQ5v97t761MyCLZo +lO72+SkU6I8Bt4+lTL5POaQKbuMiF6rac+spUksMuF0KR9pERHlVcT03nn+AMatG +lb2J3pVMsmMsdcAikG42tSMtevTI9uQdbg== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ +MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT +DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow +SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT +GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC +AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF +q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 +SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 +Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA +a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj +/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T +AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG +CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv +bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k +c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw +VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC +ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz +MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu +Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF +AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo +uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ +wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu +X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG +PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 +KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== +-----END CERTIFICATE----- diff --git a/cert/privkey.pem b/cert/privkey.pem new file mode 100644 index 0000000..4bc54f2 --- /dev/null +++ b/cert/privkey.pem @@ -0,0 +1,28 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCpYknCb84ztQPI +pecQuD5hF1TpnL4lSODVsKyM7cT3lukLnXKwZeKii03TwzKddUDrx9KiZr+94uOQ +8k8Afagof5r3aztzcTOTADFgVNLIE+M+Mara0lkUZQAaVFJPYrBjjA/Gam/dsXS6 +KaZPq2AFmDp/FNKWH+DGiNc+3ZxY0Yjzxr3ump42vad5E0P/Xf7e0g7ibAzJtHf0 +YoHzfvoBXGRSvCBih88SzoztYS8uIZJesq2BP1oZUkJtAHmLqe5Qxr6eGTzUsb4a +yn1/VBurAaH2V8+dwerA6+ZiDoH6Cu60m//rddQl5EJ5bfsEeRKlxH2oCCPO+OKK +aXlF6CqFAgMBAAECggEAD1gxGGUqh/KhCh9FZHVcaU1EyvkBHL2SaKldqFKt4kQQ +jpXP2v0P3+vAvCtVvX/uxq1OfpnSSvBv7ySUVZYMksakkj9rnlSl+G4vCuwEQE3U +60BymuotWbSgosH6xuhI1GvOzgm8Ypf93BOD1nnO9BLLUdHgFeuDYFjrLu3CiSUk +hYIfIoleZ0xHIM+DDjn2N25syI1znFGWEqrmPiQL5nxAjR4wfTy7idpXhtuUGTTB +husHpAjz0DK7NGoKnMm7oK29JLzVkJBlpPNCnQoaBaD9TiAAu/iKCZLGDtqg+KGl +bEasdCqv2BIau6lcVRzaRrZeVXyka4X/RqNCs6QBTQKBgQDWOmIIi8Zdn6yVx0Jq +m3LY8jDBjn99VIDxRvCi0uvAeTsIXB/XgDT3o9SfbkzMyJa/z7oqkfv3hoEoY8Jz +h0ROG88TBlu+YMpDZT8Ufm3M+3C0OfCvTo3dvlb77n6i9C+OTnUm0vjMNYvaZCHo +JNuiev92++BoW+IL1TOLjtehfwKBgQDKaWwY66AUlF0oEdu4lnQpnZuO08NUyD2k +a0H4Q55kEVRpOmfIPY4C1FruF2p+6Gp+k25gOH9e5uBONE7WxAE50trfyjDeVUqE +Agrj1nt/dypZs7j5EmSlY6bThybW/c9jE2bDPbHD/jtlSl+FVcwepaHWr9JGBzrE +DYoKOKat+wKBgAEeMODGifR3HtlxPsF7qi/Do8l+yt+Gj12y9xKCc0R/3XT/thLT +0nLwYe2rD6+J5G9/0ALk3CHAi/AABUXBEPQvZPc+c0AdFTEg2CFtP3lwXngyTTU8 +/bSIh7+s0PBcwdrGQgo/05iNNvuexiaF+rdwWODwE4233QgexrQVvL5VAoGAduhf +nHQvYmeWIkf7cADS1O/Fxq4YfeH0dHaeFp6Cmf6kO/0XosamensNv/j5kvwuM5Wg +rd4C1VmEQ+zus7QJlFKOShGZi8NHNy2MADSr8EGtG209KPTpM0/LXVB0PLB1+JoZ +MHE50Q21DtgWLVotw4NCA8DeIk109F+PzFljcakCgYEAyJurxXhBP1LR5jOLPin0 +zqY5TMT6A9WmVbec1g0XspCI5TYAaINbDyjtbJV/zyXxLip4L7g/9lUgQy8JT8GV +Y1okdsoFKUtNxokfVl96Pe4Gw4NVUCmS1i6e2bxBo08E0dHlfmryTHQ7lAqHKtdn +Ph4vjN86b+Sy2oFT8aK+csk= +-----END PRIVATE KEY----- diff --git a/dht.js b/dht.js index 15435bc..0b9b355 100644 --- a/dht.js +++ b/dht.js @@ -1,7 +1,5 @@ // ./src/index.js -var GardenIP = '192.168.1.133'; -var AcIP = '192.168.1.143'; -var HouseDhtIP = '192.168.1.126'; +var config = require('./src/setup_const'); // importing the dependencies const util = require('util'); @@ -22,11 +20,13 @@ var fs = require("fs"); var http = require('http'); var https = require('https'); try{ - var SECURE_KEY = "/etc/letsencrypt/live/iot.d-popov.com/privkey.pem"; //__dirname + '/../../test/secure/tls-key.pem'; - var SECURE_CERT = "/etc/letsencrypt/live/iot.d-popov.com/cert.pem"; + var CERT_ROOT = "/etc/letsencrypt/live/iot.d-popov.com-0003"; + var SECURE_KEY = CERT_ROOT+ "/privkey.pem"; //__dirname + '/../../test/secure/tls-key.pem'; + var SECURE_CERT = CERT_ROOT+ "/cert.pem"; var _privateKey = fs.readFileSync(SECURE_KEY, 'utf8'); var _certificate = fs.readFileSync(SECURE_CERT, 'utf8'); - var credentials = {key: _privateKey, cert: _certificate}; + var _ca = fs.readFileSync(CERT_ROOT+ "/chain.pem", 'utf8'); + var credentials = {key: _privateKey, cert: _certificate, ca:_ca}; }catch(ex){console.log("can't load certificates.");} @@ -99,7 +99,7 @@ function(req, res){ function(req, res){ res.render('chart', { user: req.user }); }); - app.get('/garden', function(req, res){ res.render('chartGarden'); }); + app.get('/garden/:days?', function(req, res){ res.render('chartGarden', {model:req.params}); }); //Authentication -- @@ -119,13 +119,13 @@ app.use('/waterTest',function(req, res){ app.use('/water',function(req, res){ var time = req.query.t; console.log("Watering cmd for: " + time); - request('http://'+GardenIP+'/control?cmd=event,manualwatering='+ time, { json: true }, (err, res, body) => { + request('http://'+config.GardenIP+'/control?cmd=event,manualwatering='+ time, { json: true }, (err, res, body) => { if (err) { return console.log("Problem watering: " + err); } console.log("Watering cmd successfully sent!"); }); }); app.use('/waterStop',function(req, res){ - request('http://'+GardenIP+'/control?cmd=event,stopwatering', { json: true }, (err, res, body) => { + request('http://'+config.GardenIP+'/control?cmd=event,stopwatering', { json: true }, (err, res, body) => { if (err) { return console.log("Problem watering: " + err); } console.log("STOP watering cmd sent!"); }); @@ -174,8 +174,6 @@ else wss = new WebSocket.Server({ port: 8080 });//not secure } - - // // # ┌────────────── second (optional) // // # │ ┌──────────── minute // // # │ │ ┌────────── hour @@ -218,8 +216,8 @@ mqtt.on('clientConnected', function(){ console.log("MQTT client connected !"); }); -var mqtt = require('mqtt') -var mqtt_client = mqtt.connect('mqtt://192.168.1.131'); +var mqtt = require('mqtt'); +var mqtt_client = mqtt.connect('mqtt://'+ config.HomeControllerMQTT); mqtt_client.on('connect', function () { console.log("MQTT connected. subscribing to topics"); mqtt_client.subscribe('tele/tasmota/STATE'); diff --git a/dump.sql b/dump.sql index b6f5640..38a2141 100644 --- a/dump.sql +++ b/dump.sql @@ -68,7 +68,7 @@ CREATE TABLE `devices` ( LOCK TABLES `devices` WRITE; /*!40000 ALTER TABLE `devices` DISABLE KEYS */; -INSERT INTO `devices` VALUES (1,'A23',NULL,NULL,NULL,NULL,'2020-03-25 10:48:26','2020-03-25 10:48:26'); +INSERT INTO `devices` VALUES (1,'A23',NULL,NULL,NULL,'2020-03-25 10:48:26','2020-03-25 10:48:26'); /*!40000 ALTER TABLE `devices` ENABLE KEYS */; UNLOCK TABLES; /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; diff --git a/src/db/database.js b/src/db/database.js index 5f0e350..9882b08 100644 --- a/src/db/database.js +++ b/src/db/database.js @@ -1,5 +1,5 @@ -const Sequelize = require("sequelize") +const Sequelize = require("sequelize"); const mongoose = require('mongoose'); const Schema = mongoose.Schema; diff --git a/src/db/devicemessages.js b/src/db/devicemessages.js index c7238ad..c35b098 100644 --- a/src/db/devicemessages.js +++ b/src/db/devicemessages.js @@ -40,8 +40,8 @@ exports.findByName = function(fieldName, days, cb) { exports.insert = function(device_id, field_name, value, cb){ var params = [device_id, field_name,value]; - let sql = `INSERT INTO devicemessages(device_id,field_name,field_value,timestamp) - VALUES (?,?,?,NOW());`; + let sql = `INSERT INTO devicemessages(device_id,field_name,field_value,timestamp,createdAt,updatedAt ) + VALUES (?,?,?,NOW(),NOW(),NOW());`; pool.getConnection(function(err, con) { if (err) throw err; // not connected! con.query(sql,params,(err, r) => { diff --git a/src/devices/ir.js b/src/devices/ir.js index fad9b95..4976e31 100644 --- a/src/devices/ir.js +++ b/src/devices/ir.js @@ -1,4 +1,6 @@ +//require('../src/setup_const')(); + const util = require('util'); const { parse } = require('querystring'); var moment = require('moment'); @@ -9,7 +11,7 @@ function GetDht() { var result; (async () => { try { - var url='http://192.168.1.143/cm?cmnd=status%2010&user=admin&password=vlado555'; + var url='http://'+'192.168.1.143'+'/cm?cmnd=status%2010&user=admin&password=vlado555'; request(url, { json: true }, (err, res, body) => { if (err) { return console.log("Problem getting current conditions: " + err); } diff --git a/src/setup_const.js b/src/setup_const.js new file mode 100644 index 0000000..29a3119 --- /dev/null +++ b/src/setup_const.js @@ -0,0 +1,18 @@ +var GardenIP = '192.168.0.18'; +var AcIP = '192.168.1.143'; +var HouseDhtIP = '192.168.1.126'; +var HomeControllerMQTT = '192.168.0.10'; //GW02 + + +module.exports = { + GardenIP: '192.168.0.18', + AcIP : '192.168.1.143', + HouseDhtIP : '192.168.1.126', + HomeControllerMQTT : '192.168.0.10', + foo: function () { + // whatever + }, + bar: function () { + // whatever + } + }; \ No newline at end of file diff --git a/views/chartGarden.ejs b/views/chartGarden.ejs index 9774fd9..74819b1 100644 --- a/views/chartGarden.ejs +++ b/views/chartGarden.ejs @@ -1,10 +1,12 @@ +
Conditions in the last <%= model.days ? model.days : '7' %> days
+
getting inside conditions...
+
+ + +
+ + + <%- contentFor('head') %>