Comments (16)
Can you add a print(values)
to line 113?
command = '{addr}\r'.format(addr=self.address)
line = self._write_and_read(command, retries)
spl = line.split()
address, values = spl[0], spl[1:]
++print(values)
It looks like this flowmeter may be returning a date, which I haven't seen before. unfortunately, I don't have one at hand to test.
from alicat.
Also, what's the serial number? Alicat tech support can tell you exactly what that model will output over serial. Sometimes @marinapalese lurks in this repo, also.
from alicat.
from alicat.
it doesn't support just reading the outputs? isn't it a mass flow meter?
from alicat.
OK, that's interesting. Didn't even know this device existed! This repository does not support anything other than the M- and MC-series differential pressure flow meters/controllers. I would merge a PR extending to other devices, but cannot provide support for other devices we don't have.
The manual is provided here: https://documents.alicat.com/manuals/Alicat_FP-25_Calibrator_Manual.pdf
Page 42 lists the serial communications format.
Note the date/time at the front of the data frame, and pressure source/humidity at the end. Those are what's confusing the existing driver, which does not know about them.
from alicat.
I have been using the serial lines directly before using this library but the putout shifts with time. Thank you for the help.
from alicat.
I'm sorry I can't help directly. I think you have a couple of options.
(1) Fork this repository and extend the functionality yourself, using the manual above.
(2) Contact Alicat support - @marinapalese / [email protected] would be my first contact
(3) Contact @JosephHickey1 ([email protected]) and ask him about his repository Alicat-Python. I know very little about it but believe the intention was to make a more generalized controller. I do not know his current relationship with Alicat - he used to be employed there but no longer. Perhaps he is available as a contract programmer?
(4) Look through the manual and see if there is a way of disabling the "extra" data on the device to avoid confusing the driver as-is. (I see this as unlikely)
I'm happy to review / merge any code generated by the above strategies. Good luck :)
from alicat.
I will probably just make my own library for the project I am working on, was just trying to use what was already available. Or maybe I will do as you suggest and branch this library for my project, it is an in-house script so I have no plans to sell or distribute it.
from alicat.
As for the device, we just ordered these maybe 2 years ago, and are the standard we have in the office. I'm surprised you are unaware of them. Are these some kind of special meters?
from alicat.
After adding the print line I get this now:
['0000000', '2022-12-05', '0010:46:41', '+0755.3', '+0000.5', '+754.86', '+018.72', 'P', '+00.001', '+00.001', '049', 'RHAir']
Traceback (most recent call last):
File "/home/pi/.local/bin/alicat", line 10, in
sys.exit(run())
File "/home/pi/.local/lib/python3.7/site-packages/alicat/init.py", line 48, in run
command_line(args)
File "/home/pi/.local/lib/python3.7/site-packages/alicat/serial.py", line 567, in command_line
state = flow_controller.get()
File "/home/pi/.local/lib/python3.7/site-packages/alicat/serial.py", line 390, in get
state = FlowMeter.get(self, retries)
File "/home/pi/.local/lib/python3.7/site-packages/alicat/serial.py", line 128, in get
for k, v in zip(self.keys, values)}
File "/home/pi/.local/lib/python3.7/site-packages/alicat/serial.py", line 128, in
for k, v in zip(self.keys, values)}
ValueError: could not convert string to float: '2022-12-05'
the string is output but so is the error about it not being formated right
PROGRESS!!
from alicat.
As for the device, we just ordered these maybe 2 years ago, and are the standard we have in the office. I'm surprised you are unaware of them. Are these some kind of special meters?
I don't work for Alicat, we just buy (some of) their equipment. We use another vendor for humidity logging.
from alicat.
Oh, my bad. They linked to you so I thought you worked for them.
from alicat.
I got it to work, somewhat, but commenting out the lines 114-127.
now I get "['0000000', '2022-12-05', '0011:32:10', '+0755.1', '+0000.4', '+754.73', '+019.20', 'P', '+00.000', '+00.000', '049', 'RHAir']
None
"
from alicat.
Use the manual (or screenshot I posted above) to update this code:
Line 40 in 5cbe7ae
from alicat.
Pushing a stable version of the Alicat-Python was actually my last hurrah with Alicat but I'm still around and happy to support the library as I can. Bill Nick at Alicat is currently the caretaker for the program though in case issues like this pop up on the future.
As Alex has said, updating the self.keys list to include the time and date information should resolve this. Alternatively, the other library should dynamically retrieve the keys when the program does initialization for the first time for the device.
from alicat.
Again, thank you for all your help.
from alicat.
Related Issues (20)
- "OSError: Could not read control point" when calling flow_controller.get() and totalizer HOT 6
- MFC OSError: Could not read control point HOT 5
- set_flow_rate throws error when maximum ramp rate != 0 HOT 4
- CLI not using await on set_flow_rate() HOT 2
- Handle very old (GP) firmware more robustly HOT 2
- "OSError: Could not read from flow controller" when setting setpoints on GP firmware HOT 7
- Can you connect Alicats to BPODs? HOT 1
- Adding back in Support for TCP Connections HOT 7
- Custom Mix: could not convert string to float HOT 7
- Support Modbus RTU
- Batch mode HOT 1
- Incorrect readings from locked devices
- Numeric values are incorrectly returned as strings
- Serial communication may be blocking
- Dependency Dashboard
- Unable to pass kwargs to FlowController
- unexpected behavior from is_connected method after 0.5.0 release HOT 6
- Reading control point does not work on old firmware
- Cant get info through BB3-232 Alicat platform HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alicat.