chiefwigms / picobrew_pico

MIT License
149 stars 63 forks source link

picoferm? how to start? #86

Closed msav72 closed 4 years ago

msav72 commented 4 years ago

Ok brewed my first disassembled picopak not on picobrews server. using my own server.

I just pitched the yeast, how do I start the picoferm?

tmack8001 commented 4 years ago

I haven't actually used a Picoferm yet. I have 4 in a ziplock bag. Just set one up this morning to test firmware updates.

If you have it attached I think to start a fermentation session is simply a press of the "on/status" button to get a flashing yellow light indicating that fermentation is in progress.

tmack8001 commented 4 years ago

Today we don't link the brew session (aka "beer" in BrewHouse) to the fermentation data. We also don't have a way to change the "start date" of the fermentation (aka "change pitch date" in BreeHouse).

Intecpsp commented 4 years ago

You may need to factory reset it and get it on the right AP, check out the manual and photo here: https://github.com/Intecpsp/picobrew-support/tree/master/picoferm

tmack8001 commented 4 years ago

Note when connected to the ferm's AP directly you need to navigate to 192.168.4.1 similarly to when configuring the PicoStill device.

msav72 commented 4 years ago

I did not have to rejoin my pico pro to my wireless network, I would not think I would my ferms or my still either. I will check when I get home to see if I can ping them on my network.

On Mon, Aug 10, 2020, 8:54 AM Trevor Mack notifications@github.com wrote:

Note when connected to the ferm's AP directly you need to navigate to 192.168.4.1 similarly to when configuring the PicoStill device.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chiefwigms/picobrew_pico/issues/86#issuecomment-671438569, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP22OGTRWIEATZ6YSZP6R73SAAJ25ANCNFSM4PZNCUHA .

wizzlebippi commented 4 years ago

The picoferm does not continuously connect, so it probably won't be pingable. You're better off passively monitoring it either via the server or through network data collection.

From my experience, as long as the picoferm has power, it's transmitting data to the server. There's no starting or stopping fermentation monitoring. You do need to be patient though, it might take a few hours before it decides to start transmitting.

msav72 commented 4 years ago

ok all of my picoferms when powered on just cycle through the lights red, orange, green over and over and eventually it just blinks red and shuts down. they were all setup on my wifi and they were able to get to picbrews web site. I changed the dns server that they get dns from on my dns server just like my picopro.

the doc says that the cycling through each color means it is communicating with picobrew.com. But then there is the flashing red light that says there was an error with my fermentation. Ping was a bust with the ferms but I can ping the picostill and the pico pro all day long.

tmack8001 commented 4 years ago

I got 2 of my picoferms connected just haven't dug out wires for the other 2 and I'm definitely not wasting AA batteries on these suckers.

https://github.com/chiefwigms/picobrew_pico/pull/90 is the firmware update support that I've also tested on these.

Right not the server simply tells the device whenever it connects for a state (bootup) to transmit information... there is no server logic for "starting" or "stopping" the picoferm device logging. There is a 14d time out though that will trigger the "end of fermentation". We should look at adding buttons per ferm to "start" and "end" which would simply toggle the different logging states and do file open/close requirements as well... all in due time folks (feel free to have a crack at it too...)

tmack8001 commented 4 years ago

If you have the ferm on your network there is an embedded webserver just like the PicoStill this is actually how Picobrew tells you to connect it to your home network from it's AP.

For what it is worth since the devices I have were given to me used I needed to do a factory reset and reconnect them to my network.

wizzlebippi commented 4 years ago

Flashing red means account error. Flashing Amber and Red means fermentation error. Try allowing access to picobrew.com, resetting the picoferm, and re-connecting to wifi. You're not done with the setup until the page says you've successfully added it to the account.

tmack8001 commented 4 years ago

You don't need the ferm attached to your account in order to connect to the offline server. None of my 4 are and I have 2 successfully attached to my network communicating to the offline server just fine.

Do a factory reset to get back into AP mode and repair to the network that have routing to picobrew.com to the local server and you should be good and see them appear in the home screen.

msav72 commented 4 years ago

They already appear in my home screen. But the don't do anything

On Mon, Aug 10, 2020, 7:04 PM Trevor Mack notifications@github.com wrote:

You don't need the ferm attached to your account in order to connect to the offline server. None of my 4 are and I have 2 successfully attached to my network communicating to the offline server just fine.

Do a factory reset to get back into AP mode and repair to the network that have routing to picobrew.com to the local server and you should be good and see them appear in the home screen.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/chiefwigms/picobrew_pico/issues/86#issuecomment-671680794, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP22OGQUWHE4A6KGSVKHBWDSACRLTANCNFSM4PZNCUHA .

tmack8001 commented 4 years ago

@msav72 check the active "ferm" folder today I found 5-6 files for the same device... Should do similar as to what I'm trying to port for the Z and only allow one active file per device.

msav72 commented 4 years ago

no files in ferm/active directory

I will try a factory reset on one of them and see if I can get it to show anything on the home screen

tmack8001 commented 4 years ago

@msav72 that makes sense given they all end in the "red"/error state. They should upon communicating successfully with the offline server enter the "yellow"/in-progress state which tells them to log data points to the server.

You sure they have connectivity to the local server? If so do you see logs either from python (systemctl status rc.local) or from nginx (log files located at /var/logs/nginx/*).

msav72 commented 4 years ago

I did a factory reset on one of my picoferms. I got the same. I set the dns back to the internet facing dns and factory reset it again. set it back up on my wifi and then It flashed through each color twice and then blinked green indicating that fermentation is complete from the last one I did on Picobrew's server. Flipped dns back to my internal dns server and back to flashing through all the colors and then red blinking. I just updated the server to the latest Docker image since mine is over a month old, it is still doing the same thing.

Only thing I can think of is I made an error in the picferm settings in the config.yaml. seems improbable as it is simple. mac address / product ID and then the name picoferm1.

wizzlebippi commented 4 years ago

I had to implement firewall rules, both v4 and v6, to ensure that devices couldn't bypass my DNS server (pihole) to get the picobrew devices to connect to the server. Might be worth investigating.

tmack8001 commented 4 years ago

The config.yaml is simply to "name" the device in the UI and nothing about how the device connects to the server. Personally I don't have anything in my config.yaml except a Pico S/C/Pro and Zymatic device codes that I don't even own so I can test importing UX 😜

msav72 commented 4 years ago

I am at a complete loss. I verified that all the ferms are getting on the wifi, I see they are getting the assigned Ip address that I set for them and it hands out my internal dns server that points my dns for picobrew.com to my internal server. Same exact settings that are working for my pico pro. I get a momentary ping when they first get on the network then nothing, but that could be by design of the ferm. My firewall is not blocking anything internal, Only external coming in

They only get assigned my internal dns server no forwarding on that dns server is setup.

msav72 commented 4 years ago

The config.yaml is simply to "name" the device in the UI and nothing about how the device connects to the server. Personally I don't have anything in my config.yaml except a Pico S/C/Pro and Zymatic device codes that I don't even own so I can test importing UX 😜

So if I do not setup the config.yaml with my ferms will they still show up in the home page when connected?

tmack8001 commented 4 years ago

Yes the config.yaml is simply to get the device "known" to the server and not the server known to the device. Really config.yaml aliases only matters today to have device uids synced with the server for cold starts allowing users to import recipes from Picobrew and to see completely empty graphs (which don't have any thing to do with connection or proper setup) of their devices.

tmack8001 commented 4 years ago

@msav72 when clicking the "on/status" button on your firm do you successfully see request logs hit your picobrew_pico server installation? This can be seen in the logs from the "rc.local" service (on raspberryPi setups) or from the python3 command's connected "standard out".

msav72 commented 4 years ago

I am using docker with portainer. I found a spot with connection logs.

here is the last few, am I in the right place. I only see connections from my computer. from nowhere else.

192.168.5.9 - - [13/Aug/2020 01:47:59] "POST /socket.io/?EIO=3&transport=polling&t=NFbW1u-&sid=4703027adb15492c8d34d94be878a95d HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "POST /socket.io/?EIO=3&transport=polling&t=NFbW1u_&sid=369ec4bb12a949cab380b4960708038a HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbVxYy&sid=4703027adb15492c8d34d94be878a95d HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbVxZ1&sid=369ec4bb12a949cab380b4960708038a HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "POST /socket.io/?EIO=3&transport=polling&t=NFbW28c&sid=bdab5447413f46728357c83e141a20b0 HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbVxod&sid=bdab5447413f46728357c83e141a20b0 HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "POST /socket.io/?EIO=3&transport=polling&t=NFbW28d&sid=724013b7e27247dcb05b9de8a70f53a1 HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbVxoj&sid=724013b7e27247dcb05b9de8a70f53a1 HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "POST /socket.io/?EIO=3&transport=polling&t=NFbW9yd&sid=e63786189cf847dc83b86d2f5e886171 HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:47:59] "POST /socket.io/?EIO=3&transport=polling&t=NFbW9yc&sid=67e348f3aef2461d8736841372f9e3fb HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:48:00] "GET /socket.io/?EIO=3&transport=polling&t=NFbWACF HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:48:01] "GET /socket.io/?EIO=3&transport=polling&t=NFbWARt HTTP/1.1" 200 -

192.168.5.9 - - [13/Aug/2020 01:48:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbW9oM&sid=4703027adb15492c8d34d94be878a95d HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:48:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbW9oT&sid=369ec4bb12a949cab380b4960708038a HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:48:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbW9ob&sid=bdab5447413f46728357c83e141a20b0 HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:48:59] "GET /socket.io/?EIO=3&transport=polling&t=NFbW9of&sid=724013b7e27247dcb05b9de8a70f53a1 HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:49:00] "GET /socket.io/?EIO=3&transport=polling&t=NFbWACU&sid=8f1eb512fcab4123b22a6161315d8759 HTTP/1.1" 400 -

192.168.5.9 - - [13/Aug/2020 01:49:01] "GET /socket.io/?EIO=3&transport=polling&t=NFbWAS4&sid=e779bc5932024d888ff3663724a41ef1 HTTP/1.1" 400 -

msav72 commented 4 years ago

the picoferms don't need any other dns entries other than picobrew.com correct?.

tmack8001 commented 4 years ago

Same dns as withing else "www.picobrew.com" yup. Yeah all those socketio logs are mostly useless for debugging... As they clog up everything.

When the PicoFerms initialize they will make 3-4 different requests to the server. For your setup I would like to see those logs if you can get them. Best bet is to do a docker logs -f <containerId> then go press the on/status button on the ferm while watching/capturing log stream.

msav72 commented 4 years ago

LOL. For the pico pro having just picobrew.com set in dns works. however. I needed the www.picobrew.com in there for the ferms.

I created the www.picobrew.com dns a record and now the ferns are flashing yellow.

thank you

On Wed, Aug 12, 2020 at 8:07 PM Trevor Mack notifications@github.com wrote:

Same dns as withing else "www.picobrew.com" yup. Yeah all those socketio logs are mostly useless for debugging... As they clog up everything.

When the PicoFerms initialize they will make 3-4 different requests to the server. For your setup I would like to see those logs if you can get them. Best bet is to do a docker logs -f then go press the on/status button on the ferm while watching/capturing log stream.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/chiefwigms/picobrew_pico/issues/86#issuecomment-673222122, or unsubscribe https://github.com/notifications/unsubscribe-auth/AP22OGRALKS2D43TE5GXLS3SANKIHANCNFSM4PZNCUHA .

-- Mark Savides

tmack8001 commented 4 years ago

@msav72 I'll mark this issue as closed. If you have issues still either reopen or create a new one to track the issue.